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】:日志追加器,詳細指定了日志的記錄方式,常用的追加者有如下幾種
- RollingFileAppender:隨著日志量的越來越大,會對檔案進行切割,
- FileAppender:普通的檔案日志追加器,
- ConsoleAppender:日志輸出到控制臺,
- AsyncAppender:結合檔案型別追加器,實作異步日志寫到檔案,
常用屬性:file 檔案名稱,append 追加寫,rollingPolicy 檔案切割策略,encoder 日志的格式,filter 日志過濾器,限定什么級別的日志寫入檔案,
實體:

【filter】:日志級別過濾器,可以限定特定級別的日志輸出,有以下幾種:
- LevelFilter:單一級別過濾
- 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 | 輸出陳述句所在行數 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/309017.html
標籤:其他
上一篇:級數法求圓周率
