瓜西西

导航

关于 log4j

我们在程序中使用log4j做日志输入时,引用的第三方包了有使用log4j输出日志,就会造成除了在控制台输出我们要的日志,还会输出一些其他包的执行日志,如:org.apache.commons.httpclient,httpclient.wire.content,net.sf.ezmorph,net.sf.json 

 

但经常发现不能屏蔽一些信息, 造成困扰, 以 httpclient 为例:

之前都是按包名写成以下:

log4j.logger.org.apache.commons.httpclient=ERROR

 

但仍是看到不断的信息输出, 原来, 还要加上以下两行

log4j.logger.httpclient.wire.content=ERROR
log4j.logger.httpclient.wire.header=ERROR

看到了吗?  其中的 httpclient.wire.content 和 httpclient.wire.header 并不是包名.

 

如何看到 这个 httpclient.wire.content 和 httpclient.wire.header ? 其实就是看 %c 这个显示就可以了.

log4j.appender.stdout.layout.ConversionPattern=%r %d{yyyy-MM-dd HH:mm:ss} %c %p -%m%n

 

而我以前复制粘贴的 ConversionPattern 中没有%c , 一直不想去看是为什么,  懒人就是要吃亏.

 

 

 http://stonexmx.blog.163.com/blog/static/1221585872009716112428738/

posted on 2012-08-30 10:07  瓜西西  阅读(981)  评论(0编辑  收藏  举报