Spring boot spring.log под tmp

Я прошел Spring Boot использует файл /tmp/spring.log во время тестирования

Но это не помогло. У меня есть файл logback.xml в моем приложении весенней загрузки, и когда я его запускаю, он создает журнал в var / tmp / spring.log. Теперь это не может работать на клиентском сайте. Есть ли способ настроить его, чтобы он не создавался, мой журнал уже записывает консоль в файл журнала, который я определил в моем приложении. Я даже не знал, что это происходит. и этот spring.log используется с приложением Rolling file, что означает, что он будет продолжать создавать журналы каждый день.

Я удалил:

<!--include resource = "org/springframework/boot/logging/logback/base.xml"/-->

из моего logback.xml, но он все равно не помешал ему получить доступ к файлу или создать его

любая помощь будет оценена

Обновлено: мой logback.xml

<?xml version = "1.0" encoding = "UTF-8"?>

<configuration scan = "true">
    <include resource = "org/springframework/boot/logging/logback/base.xml"/>

    <appender name = "FILE" class = "ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>logs/fix.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>90</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>utf-8</charset>
            <Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
        </encoder>
    </appender>

    <appender name = "ASYNC" class = "ch.qos.logback.classic.AsyncAppender">
        <queueSize>512</queueSize>
        <appender-ref ref = "FILE"/>
    </appender>





<logger name = "com.comp.myapp" level = "INFO"/>


<contextListener class = "ch.qos.logback.classic.jul.LevelChangePropagator">
    <resetJUL>true</resetJUL>
</contextListener>

<root level = "INFO">
    <appender-ref ref = "FILE" />
    <!--<appender-ref ref = "CONSOLE"/>-->
</root>

Проблема, возникающая из-за этого, заключается в том, что если я дважды развернул одно и то же приложение, даже с одним и тем же пользователем. оба приложения пишут в один и тот же файл, что не имеет смысла. Если бы у меня было другое приложение для весенней загрузки, также развернутое на том же компьютере, они будут писать в тот же файл spring.log в папке tmp. Я не понимаю, в чем причина создания "подлого" журнала (я бы назвал его подлым)

Не могли бы вы добавить logback.xml?

Antho Christen 17.05.2018 10:22
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
4 387
2

Ответы 2

Добавление

<include resource = "org/springframework/boot/logging/logback/defaults.xml" />

действительно важно, но в конечном итоге вам нужны все функции, которые вы получите БЕЗ сохранения журналов на tmp. Если вы посмотрите на <include resource = "org/springframework/boot/logging/logback/base.xml" />, вы найдете следующее:

<included>
    <include resource = "org/springframework/boot/logging/logback/defaults.xml" />
    <property name = "LOG_FILE" value = "${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
    <include resource = "org/springframework/boot/logging/logback/console-appender.xml" />
    <include resource = "org/springframework/boot/logging/logback/file-appender.xml" />
    <root level = "INFO">
        <appender-ref ref = "CONSOLE" />
        <appender-ref ref = "FILE" />
    </root>
</included>

Следовательно, вы хотите заменить <include resource = "org/springframework/boot/logging/logback/base.xml" /> следующим:

<include resource = "org/springframework/boot/logging/logback/defaults.xml" />
<include resource = "org/springframework/boot/logging/logback/console-appender.xml" />
<include resource = "org/springframework/boot/logging/logback/file-appender.xml" />
<root level = "INFO">
    <appender-ref ref = "CONSOLE" />
    <appender-ref ref = "FILE" />
</root>

Таким образом, вы по-прежнему можете видеть журналы в своей среде IDE, как если бы вы использовали базовый xml.

Другие вопросы по теме