您好我想排除某些子包被我的记录器记录,因为它们被另一个记录器记录。例如
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格式)
答案 0 :(得分:6)
我总是认为log4j.logger.com.mysite.app = logger1
负责将来自子包的邮件记录到logger1
。
如果您确实不希望logger2
和logger3
的消息干扰logger1
的消息,则需要将其添加到false
。
log4j.additivity.com.mysite.app.news=false
log4j.additivity.com.mysite.app.events=false
答案 1 :(得分:2)
试一试:
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
答案 2 :(得分:0)
对于XML配置:
<logger name="com.mysite.app.news" additivity="false">
<appender-ref ref="logger2" />
</logger>
<logger name="com.mysite.app.events" additivity="false">
<appender-ref ref="logger3" />
</logger>