Запись журнала в файл и отображение его на консоли одновременно - PullRequest
0 голосов
/ 05 апреля 2020

вот моя logback-spring. xml file:

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



    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <file>./target/log/app-debug.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>./log/target/app-debug.log-%d.gz</fileNamePattern>
            <maxHistory>7</maxHistory>
        </rollingPolicy>

        <encoder>
             <pattern>%-30(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{32} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <file>./target/log/app-error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>./target/log/app-error.log-%d.gz</fileNamePattern>
            <maxHistory>7</maxHistory>
        </rollingPolicy>

        <encoder>
             <pattern>%-30(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{32} - %msg%n</pattern>
        </encoder>
    </appender>



    <root level="DEBUG">
        <appender-ref ref="DEBUG_FILE"/>
    </root>

    <root level="ERROR"> 
        <appender-ref ref="ERROR_FILE"/>
    </root>
</configuration>

Теперь все записывается правильно, но я не могу видеть уровень INFO на моей консоли во время работы приложения. У меня все еще есть

logging:
  level:
    root: INFO
  file:
    name: ./log/app.log

в моем файле .yml, но в консоли нет никаких записей.

Можно ли записать файл журнала и одновременно отобразить его на консоли?

1 Ответ

1 голос
/ 05 апреля 2020

Вы можете использовать ConsoleAppender в существующей конфигурации logback. Ниже приведен небольшой фрагмент для справки:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  <layout class="ch.qos.logback.classic.PatternLayout">
    <Pattern>
        %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
    </Pattern>
  </layout>
</appender> 

. Вы также можете контролировать уровень журнала root, а также включать ссылку на приложение appDER DEBUG_FILE для печати в консоли в дополнение к реализация, которую вы сделали, чтобы записать в файл. Ниже приведен фрагмент информации, соответствующий вашему варианту использования,

  <root level="info">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="DEBUG_FILE" />
  </root>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...