LOG4J 的初始化

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Log4j 是使用的最广泛的logging框架之一。

我碰到的最多人问的问题就是:为什么用了Log4j之后,我的程序占用那么多的CPU?是不是Log4j的设计有问题啊?

这里我把Log4j常见的一些问题列出来,供大家参考:

Log4j告诉我说没有正确初始化,怎么办?

现象:

运行程序时出现

log4j: No appenders could be found for category (some.category.name).

log4j: Please initialize the log4j system properly.

原因:

Log4j的日志输出需要一个appender,appender的类型有stdout,file,database table,syslog等。

如果指定的Logger没有并且它所有的祖先也没有appender的话,那么就会出上面这个错误。

记住: log4j是没有缺省的target appender的。

解决方法:

最简单的就是所有Logger的祖先设置appender。

在程序运行目录下面创建一个文件:log4j.properties

内容为:

log4j.rootCategory=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[%d{dd MMM yyyy HH:mm:ss,SSS}] [%-5p] [%t] [%x] [%C] [%m]%n

然后在你的程序中用

private Category logger = Category.getRoot(); //最easy

或者

private Logger logger= Logger.getLogger(classname);

就搞定了

待续...

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航