簡體   English   中英

Spring-boot-每個級別的日志文件的應用程序屬性配置

[英]Spring-boot - application properties configuration for log file per level

我正在嘗試基於日志級別獲取單獨的日志文件,例如。 用於調試,信息,錯誤的單獨文件

我在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

您可以使用Logback輕松做到這一點 您可以為每個日志級別創建不同的appenders ,然后完成。

使用SLF4J外立面的推薦和默認實現Logback ,您需要為日志的每個級別配置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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM