logback配置詳解


logback日志配置詳解

1.spring boot項目中各種日志配置文件的位置及名稱:

  • Logback:logback.xml, logback-spring.xml, logback-spring.groovy, logback.groovy
  • Log4j:log4j.properties, log4j.xml,log4j-spring.properties, log4j-spring.xml,
  • Log4j2:log4j2.xml,log4j2-spring.xml
  • JDK (Java Util Logging):logging.properties

各個日志配置文件放置在springboot類掃描路徑下:

 

 2.日志等級:

日志級別從低到高:TRACE < DEBUG < INFO < WARN < ERROR < FATAL

當日志的級別大於或等於設置的日志級別時才會輸出。

 

3.loggack日志配置:

【logger】:日志記錄者,每個logger對應一個日志記錄對象,正是通過logger把日志記錄到對應的終端或者設備。root表示最頂層(根)的記錄對象,其他logger可以繼承root的相關設置。name屬性指定具體的包,level屬性指定日志級別。子對象appender-ref 指定日志的追加者對象。

實例:

 root指定了所有的日志輸出級別。logger指定了com.apache.ibatis包的日志輸出級別。

【appender】:日志追加器,詳細指定了日志的記錄方式。常用的追加者有如下幾種

  1. RollingFileAppender:隨着日志量的越來越大,會對文件進行切割。
  2. FileAppender:普通的文件日志追加器。
  3. ConsoleAppender:日志輸出到控制台。
  4. AsyncAppender:結合文件類型追加器,實現異步日志寫到文件。

常用屬性:file 文件名稱,append 追加寫,rollingPolicy 文件切割策略,encoder 日志的格式,filter 日志過濾器,限定什么級別的日志寫入文件。

實例:

 【filter】:日志級別過濾器,可以限定特定級別的日志輸出,有以下幾種:

  1. LevelFilter:單一級別過濾
  2. ThresholdFilter:范圍過濾,過濾范圍 >= 當前指定日志級別

屬性:

  • level:指定日志級別。
  • onMatch:匹配當前指定日志級別時的操作。
  • onMismatch:不匹配當前指定日志級別時的操作。

操作類型有:DENY 拒絕,不執行記錄;ACCEPT 接受,進行記錄

實例:

 【RollingPolicy】:日志分割策略

1.TimeBasedRollingPolicy 按照時間分割

2.SizeAndTimeBasedRollingPolicy 按照文件大小和時間分割

 

4.mybatis 的sql語句日志配置。

【Mybatis配置logImpl】:

springboot配置實例(也可在mybatis配置文件中配置):

 【logback配置logger】

在logback-spring.xml 文件中配置logger,指定包和等級,以及輸出appender(注意:logImpl的值為Slf4jImpl方式時才能正常輸出到文件中)

 5.日志配置格式

標識符 含義
hostName  本地計算機名稱
hostAddress 本地IP地址
%-7level 日志輸出級別,表示固定輸出7個字符寬度,左對齊
%logger | %c 日志的名稱,通常是全類名
%class | %C Java類名稱
%method | %M 方法名稱
%thread | %t 線程名稱
%d{yyyy-MM-dd HH:mm:ss, SSS} 日志時間
%p 日志輸出格式
%message | %msg | %m 日志的具體輸出內容
 %file | %F 輸出文件名
%L 輸出錯誤行號
%l 輸出語句所在行數
   
   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM