<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!--
http://logback.qos.ch/manual/layouts.html
%p:輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL
%r:輸出自應用啓動到輸出該日誌訊息所耗費的毫秒數
%t:輸出產生該日誌事件的線程名
%f:輸出日誌訊息所屬的類別的類別名
%c:輸出日誌訊息所屬的類的全名
%d:輸出日誌時間點的日期或時間,指定格式的方式: %d{yyyy-MM-dd HH:mm:ss}
%l:輸出日誌事件的發生位置,即輸出日誌訊息的語句在他所在類別的第幾行。
%m:輸出代碼中指定的訊息,如log(message)中的message
%n:輸出一個換行符號
-->
<contextName>logback</contextName>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %msg %cyan(%logger{5}).%M\(%F:%L\)%n
</pattern>
</encoder>
</appender>
<!--按體積生成日誌,避免服務器磁盤撐死-->
<appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>logs/app.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- each file should be at most 200MB, keep 3 days worth of history, but at most 1GB -->
<maxFileSize>200MB</maxFileSize>
<maxHistory>3</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %msg %cyan(%logger{5}).%M\(%F:%L\)%n
</pattern>
</encoder>
</appender>
<logger name="org.springframework" level="INFO"/>
<logger name="org.apache" level="INFO"/>
<logger name="com.netflix" level="INFO"/>
<logger name="io.lettuce" level="INFO"/>
<root level="DEBUG">
<appender-ref ref="stdout"/>
<appender-ref ref="logFile"/>
</root>
</configuration>
效果