在Spring Boot中使用logback輸出日誌
阿新 • • 發佈:2019-01-09
Spring Boot預設整合logback,使用時只要新增logback的配置檔案就可以了
在resources中新增logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<!--控制檯輸出源-->
<appender name ="console" class="ch.qos.logback.core.ConsoleAppender">
<!--日誌格式定義-->
<encoder>
<!--時間 執行緒 該條日誌級別 資訊-->
<pattern>%d{HH:mm:ss} [%thread] %-5level - %msg%n</pattern>
</encoder>
<!--設定日誌過濾的級別-->
< filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
</appender>
<!--滾動檔案輸出源-->
<appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Prudent>true</ Prudent>
<!--日誌檔案生成策略,按時間滾動生成日誌,當檔名發生變化時則新建日誌檔案-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日誌存放路徑及檔名格式-->
<FileNamePattern>
log/heweishi-sync-%d{yyyy-MM-dd}.log
</FileNamePattern>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<!--輸出日誌格式定義-->
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} -%msg%n
</Pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
</appender>
<!--name:生效的包,level:當前日誌輸出級別,appender-ref:使用的輸出源-->
<!--additivity:children-logger是否使用 rootLogger配置的appender進行輸出。
false:表示只用當前logger的appender-ref。
true:表示當前logger的appender-ref和rootLogger的appender-ref都有效。-->
<logger name="com.yqsh.heweishi" level="debug" additivity="true">
<appender-ref ref="console"/>
<appender-ref ref="logFile"/>
</logger>
</configuration>
各日誌級別輸出的範圍:debug>info>warn>error
appender中的ThresholdFilter設定的日誌級別決定該資料來源所能夠輸出的最大的日誌範圍,而logger中的level表示需要輸出的日誌範圍,二者共同決定了實際的日誌輸出範圍。