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/>