我们在程序中使用log4j做日志输入时,引用的第三方包了有使用log4j输出日志,就会造成除了在控制台输出我们要的日志,还会输出一些其他包的执行日志,如:org.apache.commons.httpclient,httpclient.wire.content,net.sf.ezmorph,net.sf.json
为了使用日志记录的更清楚,因此需要过虑掉这些不必要的日志输出,以为是设置过虑输出的方法:
XML格式:
<!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制-->
<logger name="net.sf.json" additivity="false">
<priority value ="ERROR"/>
</logger>
<logger name="net.sf.ezmorph" additivity="false">
<priority value ="ERROR"/>
</logger>
log4j.properties格式:
log4j.logger.org.apache.commons.httpclient=ERROR
log4j.logger.httpclient.wire.content=ERROR
log4j.logger.httpclient.wire.header=ERROR
这样第三方包一般的调试信息就不会输出了。
为了使用日志记录的更清楚,因此需要过虑掉这些不必要的日志输出,以为是设置过虑输出的方法:
XML格式:
<!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制-->
<logger name="net.sf.json" additivity="false">
<priority value ="ERROR"/>
</logger>
<logger name="net.sf.ezmorph" additivity="false">
<priority value ="ERROR"/>
</logger>
log4j.properties格式:
log4j.logger.org.apache.commons.httpclient=ERROR
log4j.logger.httpclient.wire.content=ERROR
log4j.logger.httpclient.wire.header=ERROR
这样第三方包一般的调试信息就不会输出了。
本文介绍如何通过配置Log4j来过滤第三方包的调试日志,避免不必要的日志输出干扰程序的日志记录。文章提供了XML及properties两种配置方式的例子。
1770

被折叠的 条评论
为什么被折叠?



