1. 程式人生 > >在Spring Boot中使用logback輸出日誌

在Spring Boot中使用logback輸出日誌

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表示需要輸出的日誌範圍,二者共同決定了實際的日誌輸出範圍