(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()等方法输出日志即可;