花了一天时间学习Log4j,现在差不多已经达到了熟练运用的程度了。
关于Log4j的文章很多,而且已经写得很好了,我在这里写也只能是copy & paste那些大牛们的作品。在此推荐我觉得讲得最清楚的一篇文章:
https://www.qos.ch/ac2001/F11-10.html
希望能对Log4j的学习者有所帮助。我看了几篇中文的文章,其实都是对这篇文章进行的翻译,其中还有一些不当的地方,建议还是学习英文原文为上。
此外,Log4j的官方主页http://logging.apache.org/log4j/docs/index.html上可以下载到相关的资源。
最后谈一下个人心得。对于一个web项目来说,可以构建一个Debugger类,专门服务于其他的类和JSP,这样就免去了在每一需要进行Debuging的地方都定义一个Logger实例,使用起来很方便。下面提供参考代码:
1 /*
2 * Created on 2006-3-14
3 *
4 * TODO To change the template for this generated file go to
5 * Window - Preferences - Java - Code Style - Code Templates
6 */
7 package util;
8
9 import org.apache.log4j.Logger;
10
11 /**
12 * @author dirkchen
13 *
14 * TODO To change the template for this generated type comment go to
15 * Window - Preferences - Java - Code Style - Code Templates
16 */
17 public class Debugger
18 {
19 protected static Logger logger = Logger.getLogger("ChildrenProject");
20
21 static
22 {
23 logger.setAdditivity( false );
24 }
25
26 public static void error( Throwable e )
27 {
28 logger.error("", e);
29 }
30
31 public static void debug( Object obj )
32 {
33 logger.debug( obj );
34 }
35 }
在其他地方只需要编写如下代码就可以进行debuging或者其他操作:
util.Debugger.debug(...);
当然,这时针对debug级的log信息。