Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
LOG4J 的初始化

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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);

就搞定了

待续...




相关文章

相关软件