Spring-boot - настройка свойств приложения для файла журнала на уровень - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь получить отдельный файл журнала на основе уровней журнала, например.отдельный файл для отладки, информации, ошибки

Моя текущая конфигурация в файле application.properties хранится только в одном файле на дату

logging.file=myservice-%d{yyyyMMdd}.log
logging.level.org.springframework.boot=DEBUG
logging.level.org.springframework.web=DEBUG

Я хочу, чтобы отдельные файлы журнала создавались как

  • myservice-info-20190516.log
  • myservice-debug-20190516.log
  • myservice-error-20190516.log

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Используя рекомендованную и используемую по умолчанию реализацию Logback фасада SLF4J, вам необходимо настроить appender для каждого уровня журнала.

<appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>debug.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>debug-%d{yyyy-MM-dd_HH}.log</fileNamePattern>
    </rollingPolicy>
</appender> 

<appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>info.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>info-%d{yyyy-MM-dd_HH}.log</fileNamePattern>
    </rollingPolicy>
</appender> 

<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>error.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>error-%d{yyyy-MM-dd_HH}.log</fileNamePattern>
    </rollingPolicy>
</appender> 

и прикрепить их к logger различается по уровню:

<logger name="com.bla" level="DEBUG" additivity="true">
    <appender-ref ref="debugAppender"/>
</logger>

<logger name="com.bla" level="INFO" additivity="true">
    <appender-ref ref="infoAppender"/>
</logger>

<logger name="com.bla" level="ERROR" additivity="true">
    <appender-ref ref="errorAppender"/>
</logger>
0 голосов
/ 16 мая 2019

Вы можете легко сделать это с Logback . Вы можете создать разные appenders для каждого уровня журнала, и все готово.

...