log4j:记录包,但不包括其子包 [英] log4j: logging a package, but excluding its sub-packages
问题描述
您好我想要排除某些子包被我的一个记录器记录,因为它们被另一个记录器记录。例如。
Hi I'd like to exclude certain subpackages from being logged by one of my loggers, as they are being logged by another logger. Eg.
com.mysite.app = logger1
com.mysite.app.news = logger2
com.mysite.app.events = logger3
我希望logger1只用com记录任何东西。 mysite.app(包括com.mysite.app.utilities)未被logger2和logger3记录。我怎么能这样做?
I'd like logger1 to only log anything with com.mysite.app (including com.mysite.app.utilities) not logged by logger2 and logger3. How could I do that?
(请提供属性格式的帮助,其他参考奖励积分的XML格式)
推荐答案
我总是认为 log4j.logger.com.mysite.app = logger1
需要注意从子包中记录消息到 logger1
。
I always used to think that log4j.logger.com.mysite.app = logger1
takes care of logging messages from subpackages too into logger1
.
如果你真的不想要 logger2
和 logger3
的消息来自干扰 logger1
的消息,你需要将其加性设置为 false
。
If you really don't want logger2
and logger3
's messages from interfering with those of logger1
, you need to set their additivity to false
.
log4j.additivity.com.mysite.app.news=false
log4j.additivity.com.mysite.app.events=false
这篇关于log4j:记录包,但不包括其子包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!