这里记录下自己用 Log4J记录的一些笔记:
最详细的说明,请参考 http://kdboy.iteye.com/blog/208851(使用Log4j可以配置输出到控制台,文件,甚至还可以到邮件或者数据库或者自定义的输出方式)
(1)使用:在程序中使用Log4j之前,首先要将commons-logging.jar和 log4j-1.2.11.jar 导入到classpath中,并将log4j.properties放于src 根目录中。接下来就可以使用了。
(2)
private final Log logger = LogFactory.getLog(getClass());
private final Logger logger2 = Logger.getLogger(getClass());
上面这两种是非静态的,可以父类子类公用一个 logger对象。
private final static Log logger3 = LogFactory.getLog(AgencyCompanyDetailDaoImpl.class.getName());
private final static Logger logger4 = Logger.getLogger(AgencyCompanyDetailDaoImpl.class.getName()); // 这种写法可以监控静态方法,但是却不利于代码复用。因为如果子类继承了父类的话,子类父类不能共用,但实际上最前面的修饰符 private同样也不能让父类子类共用这个对象
(3)实例:Qcs项目
### direct log messages to stdout ###
log4j.rootLogger=info, stdout, logFile
log4j.appender.stdout.encoding=UTF-8
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [QCS] %5p %c{1}:%L - %m%n
### direct log message to qcsDaily.log ###
log4j.appender.logFile=org.apache.log4j.RollingFileAppender
log4j.appender.logFile.encoding=UTF-8
log4j.appender.logFile.Append=true
log4j.appender.logFile.Threshold=INFO
log4j.appender.logFile.MaxFileSize=1000KB
log4j.appender.logFile.MaxBackupIndex=5
log4j.appender.logFile.File=${catalina.home}/WEB-INF/logs/qcsDaily2.log
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [QCS] %5p %c{1}:%L - %m%n-\r\n
log4j.logger.org.springframework=WARN
log4j.logger.org.apache=WARN