虽然工作中每天都看日志,但陆陆续续的看了不少logback的资料,依然不是很清晰。写个小记帮自己理理思路。
假设我们在需要打印日子的地方,都是以当前类去得到一个logger对象,然后打印。此时,日志是否会被输出,会被输出到哪里是如何决定的呢?
此时的logger对象,它的各种配置都会继承它的父logger。logger的继承关系是由name属性来控制的。比如,以com.example.Demo类为参数创建的logger,其name属性就是com.example.Demo。name为com.example的logger就是他的父类,如果不存在就继续往上找,如果一直没有,那就是配置的root为父类。
logger的主要配置有,appender,level,additivity。appender决定了日志会被输出到哪里,level决定了从哪个level开始的日志会被输出,additivity属性是个布尔值。当它为true的时候,此logger打印的内容会被打印到它所有的父logger。直到遇到某个additivity的值为false的父logger
这样一捋感觉还是很简单的。
(注意在spring项目中,日志配置是要在容器加载配置之后才生效的,在那之前是按默认配置来的。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)