在项目开发中,通常需要记录系统的运行日志,从而观察系统是否正常运行,如果有问题便可通过日志快速、准确定位原因并修复。
目前本人在项目中应用的是log4j这个开源框架,下面简要介绍log4j的使用方法
1、项目导入log4j-1.2.16.jar
2、编写日志配置文件log4j.properties
#定义日志的根输出,下面表示将级别为info的日志输出到文件和控制台。
log4j.rootLogger=info, logfile ,stdout
#File
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=../logs/log.log
log4j.appender.logfile.Append=true
log4j.appender.logfile.Threshold =INFO
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
#Console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.Threshold =INFO
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
相关参数说明:
1)日志输出类型
2)日志输出级别
OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
通常情况下,在调试时用DEBUG,在系统部署运行时用INFO
3)格式化日志信息
3、JAVA中输出日志
import org.apache.log4j.Logger;
public class Test {
private Loggerlog = Logger.getLogger(this.getClass());
publicvoid testLog(){
log.info("test log");
}
publicstaticvoid main(String[] args) {
new Test().testLog();
}
}
控制和文件中打印出:
2013-08-26 22:44:34 INFO Test:10 - test log
项目的目录结构