logback
越來越流行,不過使用過程中覺得還不錯,配置簡單明瞭。不過有幾點需要注意的是:
spring-boot
中使用logback
不需要再引入logback
的三個jar
包,因為在spring-boot-starter-logging
已經整合了它。
幾種日誌過濾器,需要了解明白,不然不能配置到自己想要的效果的日誌。
本人配置如下:
debug
="true"
scan
="true"
scanperiod
="1 seconds"
>
>
logbackcontextname
>
name
= value
=/>
name
="log.path"
value
="/logs"
/>
name
="stdout"
class
=>
class
="ch.qos.logback.classic.filter.thresholdfilter"
>
>
infolevel
>
filter
>
>
>
%d [%thread] %highlight(%-5level) %logger [%file : %line] - %msg%npattern
>
encoder
>
>
name
="info_file"
class
=>
>
>
class
="ch.qos.logback.classic.filter.levelfilter"
>
>
infolevel
>
>
acceptonmatch
>
>
neutralo****match
>
filter
>
class
="ch.qos.logback.core.rolling.sizeandtimebasedrollingpolicy"
>
>
>
>
10mbmaxfilesize
>
>
60maxhistory
>
>
20gbtotalsizecap
>
rollingpolicy
>
>
>
%d [%thread] %highlight(%-5level) %logger [%file : %line] - %msg%npattern
>
encoder
>
>
name
="error_file"
class
=>
>
>
class
="ch.qos.logback.classic.filter.thresholdfilter"
>
>
warnlevel
>
filter
>
class
="ch.qos.logback.core.rolling.sizeandtimebasedrollingpolicy"
>
>
>
>
10mbmaxfilesize
>
>
60maxhistory
>
>
20gbtotalsizecap
>
rollingpolicy
>
>
>
%d [%thread] %-5level %logger [%file : %line] - %msg%npattern
>
encoder
>
>
level
="debug"
>
ref=
"stdout"
/>
ref=
"info_file"
/>
ref=
"error_file"
/>
root
>
configuration
>
級別過濾器levelfilter
級別過濾器是根據日誌級別進行過濾的,過濾器會根據onmatch
和o****match
接收或拒絕
用法如下:
class
="ch.qos.logback.classic.filter.levelfilter"
>
>
infolevel
>
>
acceptonmatch
>
>
denyo****match
>
filter
>
match
值有三個,分別是:deny
、neutral
和accept
deny
:日誌立即被拋棄不再經過其他過濾器;
accept
:日誌被立即處理,不再經過剩餘過濾器。
*所以如果只顯示warn
和info
級別的日誌怎麼配置過濾器?*如下:
class
="ch.qos.logback.classic.filter.levelfilter"
>
>
infolevel
>
>
acceptonmatch
>
>
neutralo****match
>
filter
>
class
="ch.qos.logback.classic.filter.levelfilter"
>
>
warnlevel
>
>
acceptonmatch
>
>
denyo****match
>
filter
>
臨界值過濾器thresholdfilter
臨界值過濾器,過濾掉低於配置的臨界值的日誌。當日誌級別等於或高於臨界值時,過濾器返回neutral;當日誌級別低於臨界值時,日誌會被拒絕。
用法如下:
class
="ch.qos.logback.classic.filter.thresholdfilter"
>
>
infolevel
>
filter
>
求值過濾器evaluatorfilter
求值過濾器,評估、鑑別日誌是否符合指定條件。需要額外的兩個jar包,commons-compiler.jar和janino.jar有以下子節點。
參考:logback logback.xml常用配置詳解
配置logback日誌
引入依賴 spring boot starter 中引入了 spring boot starter logging 日誌啟動器 org.springframework.boot spring boot starter logging 2.2.5.release compile spring boot...
logback 非同步日誌配置
目前所有的日誌記錄方式採用的都是同步的方式,即直接將日誌寫入檔案。在多應用的時候,這種效果會導致一定的執行緒執行延遲,所以可以採用非同步的方式處理。0.11及以上版本存在 非同步日誌記錄是在原來logback上的擴充套件,並不是替代方式,所以只需要在原來的配置檔案上新增一下配置 這樣你的工程就會使用...
logback配置日誌檔案位置
logback輸出的日誌檔案,缺省會放到 啟動程序 的目錄下面 比如說程式直接在eclipse裡跑,就會輸出到eclipse.exe所在的目錄下,如果是在tomcat中跑,就會輸出到 tomcat home bin目錄下 30 4relative d thread 5level class msg ...