我们在程序中使用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/

相关文章:

  • 2022-12-23
  • 2021-10-02
  • 2022-12-23
  • 2021-11-09
  • 2022-12-23
  • 2021-10-06
  • 2021-12-06
  • 2021-07-22
猜你喜欢
  • 2021-06-27
  • 2022-12-23
  • 2022-01-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案