SpringBoot默認的日誌框架是Slf4j + Logback。
雖然在建立SpringBoot項目後能夠直接使用日誌,可是在咱們常常會有將日誌按日期保存到文件中這樣的需求,因此須要自定義日誌的配置。
下面配置拿來就用哈哈哈:app
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <!--scan: 此屬性設置爲true時,配置文件若是發生改變,將會被從新加載,默認值爲true--> <!--scanPeriod: 設置監測配置文件是否有修改的時間間隔,當scan爲true時生效--> <!--debug: 當此屬性設置爲true時,將打印出logback內部日誌信息.默認false--> <!-- 定義日誌文件 輸出位置 --> <property name="log.home_dir" value="log" /> <property name="log.maxHistory" value="60"/> <property name="log.maxFileSize" value="100MB" /> <property name="log.totalSizeCap" value="20GB"/> <!--ConsoleAppender 控制檯輸出日誌 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern> <pattern>%d | %-5p | %t:%c{1}:%L | %m%n</pattern> </pattern> </encoder> </appender> <!-- RollingFileAppender 文件輸出日誌 ERROR級別--> <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 過濾器,只記錄ERROR級別的日誌 --> <!-- 若是日誌級別等於配置級別,過濾器會根據onMath 和 onMismatch接收或拒絕日誌。 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <!-- 設置過濾級別 --> <level>ERROR</level> <!-- 用於配置符合過濾條件的操做 --> <onMatch>ACCEPT</onMatch> <!-- 用於配置不符合過濾條件的操做 --> <onMismatch>DENY</onMismatch> </filter> <!-- 定義日誌文件大小和時間策略 --> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern> ${log.home_dir}/errorLog-%d{yyyy-MM-dd}.%i.txt </fileNamePattern> <!-- 當每一個文件達到100MB,會生成新的日誌文件,日誌文件最多保存60天,總日誌文件大小達到20GB,會刪除舊日誌--> <maxFileSize>${log.maxFileSize}</maxFileSize> <maxHistory>${log.maxHistory}</maxHistory> <totalSizeCap>${log.totalSizeCap}</totalSizeCap> </rollingPolicy> <encoder> <pattern> <!-- 設置日誌輸出格式 --> %d{yyyy-MM-dd HH:mm:ss,SSS} | %-5p | %t:%c{1}:%L | %m%n </pattern> </encoder> </appender> <!-- INFO級別--> <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${log.home_dir}/appLog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern> <maxFileSize>${log.maxFileSize}</maxFileSize> <maxHistory>${log.maxHistory}</maxHistory> <totalSizeCap>${log.totalSizeCap}</totalSizeCap> </rollingPolicy> <encoder> <pattern>%d | %-5p | %t:%c{1}:%L | %m%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="CONSOLE"/> <appender-ref ref="ERROR"/> <appender-ref ref="INFO"/> </root> </configuration>