快速业务通道

Apache Log4j使用实例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

Apache Log4j使用实例

时间:2011-02-04 zhangjunhd

1.Logger类

通过Logger类的静态方法Logger.getRootLogger得到RootLogger。所有其他的loggers是通过静态方法Logger.getLogger来实例化并获取的。这个方法Logger.getLogger把所想要的logger的名字作为参数。 Logger类的一些其它基本方法在下面列出:

package org.apache.log4j;

public class Logger {   // Creation and retrieval methods:   public static Logger getRootLogger();   public static Logger getLogger(String name);   // printing methods:   public void debug(Object message);   public void info(Object message);   public void warn(Object message);   public void error(Object message);   public void fatal(Object message);   // generic printing method:   public void log(Level l, Object message); }

2. getLogger方法

以一样的参数名字调用getLogger方法,返回的reference总是指向完全相同的logger对象。例如,在这里:

Logger x = Logger.getLogger("wombat"); Logger y = Logger.getLogger("wombat");

x和y指向完全相同的logger对象。

3.Log4j使用流程

1)根据配置文件初始化log4j

log4j可以使用3种配置器来初始化:

BasicConfigurator,DOMConfigurator,PropertyConfigurator。

这里用的是PropertyConfigurator。使用PropertyConfigurator适用于所有的系统。如下的语句。

PropertyConfigurator.configure("log4j.properties");

就以log4j.properties为配置文件初始化好了log4j环境。对于一般的java project 可以不使用上面的语句初始化log4j,log4j会自动在classpath下,找到配置文件并初始化。如果log4j不能自动初始化配置文件,那么就需要用上面的方法进行初始化。

注意:初始化配置文件,最好只在系统启动的时候执行一次,如果执行多次,一是浪费资源,二就是对于老版本的log4j,使用DailyRollingFileAppender时,可能会出现问题。

2)导入org.apache.log4j.Logger;及相关包。

3)在需要使用log4j的地方获取Log实例。

private static Logger log = Logger.getLogger("MyCLASS.class");

4)使用Logger对象的debug,info,fatal...方法。

log.debug("it is the debug info");

Apache Log4j使用实例(2)

时间:2011-02-04 zhangjunhd

4.Log4j使用示例

Test.java

import org.apache.log4j.Logger; public class Test {    static Logger log= Logger.getLogger(Test.class);    public void log(){     log.debug("Debug info.");     log.info("Info info");     log.warn("Warn info");     log.error("Error info");     log.fatal("Fatal info");    }    public static void main(String[] args) {     Test test = new Test();     test.log();    } }

Log4j.properties(具体配置属性定义见《Log4j配置说明》)

log4j.rootLogger=info, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller''s file name and line number. log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

结果

INFO [main] (Test.java:16) - Info info WARN [main] (Test.java:17) - Warn info ERROR [main] (Test.java:18) - Error info FATAL [main] (Test.java:19) - Fatal info

分析:

Test.java

“Logger.getLogger(Test.class);&rdquo

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号