程序中使用log4J打印信息的两种方式

(1)通过org.apache.commons.logging.Log 接口实例化:

public static Log log = LogFactory.getLog(String name);
public static Log log = LogFactory.getLog(Class clazz);

注意:

  方法传递的参数通过log4j配置格式符号%c写入日志:

  a)如果参数是第一种,传入字符串,则日志中格式符号%c位置处显示该字符串;

  b)如果参数是第二种,传入class类型参数,则日志中格式符号%c位置处显示参数的类的完全限定名;

(2)通过org.apache.log4j.Logger类实例化

public static Logger logger1 = Logger.getLogger(String name);
public static Logger logger2 = Logger.getLogger(Class clazz);

这种注意点和上面一致。

 

这两种方式都可以用在系统级别和类级别日志,如下:

(1)系统级别:

  定义一个日志工具类,用上面任何一种方式实例化日子类,向外提供一个静态方法得到该日志实例,然后调用实例的error()等方法输出日志即可;

public class LogUtil {
   public static Logger logger1 = logger.getLogger("System error");

   public static Logger logger2 = logger.getLogger("System info");

   public static Logger getErrorLogger() {
         
        return logger1 ;
      
   }
}

(2)类级别

  需要用到日志的类中就定义一个全局静态的日志实例变量logger,直接在本类的方法中调用logger对应的error()、info()等方法输出日志即可;

posted @ 2017-11-28 17:07  迷走神经  阅读(1425)  评论(0编辑  收藏  举报