log4j:记录包,但不包括其子包
嗨,我想排除某些子包被我的一个记录器记录,因为它们被另一个记录器记录。 例如。
com.mysite.app = logger1 com.mysite.app.news = logger2 com.mysite.app.events = logger3
我希望logger1只记录logger2和logger3未记录的com.mysite.app(包括com.mysite.app.utilities)。 我怎么能这样做?
(请提供属性格式的帮助,其他参考奖励积分的XML格式)
我一直认为log4j.logger.com.mysite.app = logger1
负责将来自子包的消息记录到logger1
。
如果你真的不希望logger2
和logger3
的消息干扰logger3
的消息,你需要将它们的可加性设置为false
。
log4j.additivity.com.mysite.app.news=false log4j.additivity.com.mysite.app.events=false
试试:
log4j.logger.com.mysite.app=info, stdout log4j.additivity.com.mysite.app=false log4j.logger.com.mysite.app.news=off, stdout log4j.additivity.com.mysite.app.news=false log4j.logger.com.mysite.app.events=off, stdout log4j.additivity.com.mysite.app.events=false
对于XML配置: