appender在介紹核心對象appender中時介紹,此處略。
其他不常用的,例如statusListener, timestamp, if/else/when等標籤略。
1、configuration
最外層的標籤,只有一個。
屬性:
debug:是否開啓日誌框架的調試模式。true開啓,false關閉
scan: 定時掃描配置文件,更新配置文件的修改項,通常情況下不會改變,所以無需配置。
scanPeriod:掃描的週期,格式爲 value unit,value表示時間的值,unit表示時間單位,例如scan 30 seconds
packingData:打印異常日誌時,在日誌中顯示jar包的名稱,很耗費性能的操作,通常不開啓。
字標籤:
1個root
0到多個logger
0到多個appender
1個contextName
0到多個include
0到多個property
0到1個ShutdownHook
0到多個statusListener。
0 到1個timestamp。
0到多個contextListener。
其他的一些語法,if,else,then。
2、root
定義root logger,設置它的級別,它的appender等。
屬性:
level:logger的默認日誌級別,太高日誌太少,不利於排查問題。太低日誌太多,無用日誌浪費太多精力,也浪費很多存儲空間。
3、logger
定義某個logger,設置它的級別,名稱等其他屬性。
屬性:
name:logger的名稱,通常爲包名。
level:級別。可以從父logger中繼承。
additivity:子logger是否會將log請求傳遞給其父appender。設置爲true,會導致重複輸出日誌。
示例:
<logger name=”com.xx” level=”info” additivity=”false”/>
4、context name
設置context的名稱,日誌格式中可以引用到。
示例:
<contextName>learnLogback</contextName> %contextName // 引用
5、property
引入資源文件,或者定義變量。
示例:
Resource與file的區別在於resource基於classpath:resources文件夾下開始查找
<property name=”file_dir” value=”D:\logs”> // 加載resources/prop/logback.properties資源文件時 <property file=”src/main/resources/prop/logback/properties”> <property resource=”prop/logback.properties”>
6、include
引入其他配置文件
示例:
<include resource="config/logback-logger.xml"/>
7、shutdownHook
將日誌的停用與web,ServletContext對象的生命週期綁定在一起,當ServetContext銷燬時,日誌停用。
示例:
<shutdownHook/>