springboot自己集成了logback,因此無需引入依賴;spring
在resources下創建logback.xml文件,內容以下springboot
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <!-- scan: 當此屬性設置爲true時,配置文件若是發生改變,將會被從新加載,默認值爲true。 scanPeriod: 設置監測配置文件是否有修改的時間間隔,若是沒有給出時間單位,默認單位是毫秒。當scan爲true時,此屬性生效。默認的時間間隔爲1分鐘。 debug: 當此屬性設置爲true時,將打印出logback內部日誌信息,實時查看logback運行狀態。默認值爲false --> <!-- 應用名稱 --> <property name="app_name" value="tzgServiceUser" /> <!--日誌文件的保存路徑,首先查找系統屬性-Dlog.dir,若是存在就使用其;不然,在當前目錄下建立名爲logs目錄作日誌存放的目錄 --> <property name="log_home" value="${log.dir:-logs}/${app_name}" /> <!-- 日誌輸出格式 --> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符 --> <property name="console_pattern" value="%-5level \t %d{yyyy-MM-dd HH:mm:ss.SSS} \t %msg \t [%thread] \t %logger{80}%n" /> <property name="warn_pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} - %msg %n" /> <property name="error_pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} - %msg %n" /> <contextName>${app_name}</contextName> <!-- 信息輸出到文件 --> <appender name="warn" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log_home}/info/%d{yyyy-MM-dd}.log </fileNamePattern> <maxHistory>10</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${warn_pattern}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> </appender> <!-- 錯誤輸出到文件 --> <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log_home}/error/%d{yyyy-MM-dd}.log </fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${error_pattern}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> </appender> <root> <level value="INFO" /> <appender-ref ref="warn" /> <appender-ref ref="error" /> </root> </configuration>
啓動項目會自動生成log:app
注意: 千萬注意:一開始我看網上的不少博客說的將配置文件名字設爲 logback-spring,項目啓動不了!以下所示!因此小夥伴們千萬注意了不要迷信網上的,實踐出真知!ide
追加:能夠使用logback-spring!在application.xml配置文件中指定便可:spa
logging: config: classpath: logback-spring.xml
追加:配置完上面可能有人會有疑問,ide控制檯怎麼沒有日誌輸出了?由於咱們上面的配置文件中尚未配置 console(控制檯):線程
在上面logback-spring.xml中添加一個appender,name爲"CONSOLE":debug
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <!--此日誌appender是爲開發使用,只配置最底級別,控制檯輸出的日誌級別是大於或等於此級別的日誌信息--> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>info</level> </filter> <encoder> <Pattern>${console_pattern}</Pattern> <!-- 設置字符集 --> <charset>UTF-8</charset> </encoder> </appender>
將原來的<property name="console_pattern" value="%-5level \t %d{yyyy-MM-dd HH:mm:ss.SSS} \t %msg \t [%thread] \t %logger{80}%n" />(這個是黑白的,無感)
替換爲<property name="console_pattern" value="[%highlight(%-5level)]%green([%date{yyyy-MM-dd HH:mm:ss}]) %boldMagenta([%thread-%logger{96}-%mdc{client}-%line line]) - %cyan(%msg%n)"/>(這個是輸出帶彩色的格式,看起來酷炫一點,習慣一些)
最後在root中添加以下一行,使console配置起效日誌
<appender-ref ref="CONSOLE" />
效果圖以下:code