我是靠谱客的博主 大胆太阳,最近开发中收集的这篇文章主要介绍Log4J的rootLogger的理解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 rootLogger
总是存在一个rootLogger,即使没有显示配置也是存在的,并且默认输出级别为DEBUG
所有其他的Logger都默认继承自rootLogger
2 自定义的Logger(子Loggger)继承自rootLogger
格式如下:
[quote]log4j.logger.A.B.C[/quote]
这样定义后其实建立了3个logger实例,它们分别是"A"、"A.B"、"A.B.C"。每次我们在系统中取得logger时,并不是新建实例,这些实例是系统启动的时候就按照配置文件初始化好的(也可能时第一次引用的时候建立的,然后缓存其实例供以后使用,这部分还没有时间研究)。

调用:
Logger logger = Logger.getLogger("A.B")
3 限制appender叠加性
例1:
[quote]log4j.rootLogger=DEBUG, Console
log4j.logger.A=DEBUG, Console
log4j.logger.A.B=INFO, Console[/quote]
对于logger A.B输出的任何日志会往控制台输出三次,原因是A.B继承A的以及A的父logger的所有appender,
这种继承关系仅仅是把父logger的appender添加到自己的appender列表中,父logger的输出level不会影响
子logger的输出。

例2:限制appender叠加
[quote]log4j.rootLogger=DEBUG, Console
l

最后

以上就是大胆太阳为你收集整理的Log4J的rootLogger的理解的全部内容,希望文章能够帮你解决Log4J的rootLogger的理解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部