1、将log4j.properties文件直接放到classs目录下;
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=ERROR, LOGFILE
log4j.rootCategory=INFO, CONSOLE, LOGFILE
log4j.debug=true
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=INFO, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.RollingFileAppender
log4j.appender.LOGFILE.File=webapps/ColorTone/logs/test.log
# 在windows平台可以不加后缀日志也能生成,
# 但在linix平台下需要加后缀。
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=ERROR
log4j.appender.LOGFILE.MaxFileSize=10000KB
log4j.appender.LOGFILE.MaxBackupIndex=1000
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
该配置文件说明:
同时输出到控制台和test.log文件中,log文件最大为10m,最大为1000个;
当一个日志文件达到最大尺寸时,Log4J会自动把test.log重命名为test.log.1,然后重建一个新的test.log文件,依次轮转;
在控制台输出的级别为info;
在日志文件输出为error级;
如果需要改为每天一个日志文件,则为:
代码
- # LOGFILE is set to be a File appender using a PatternLayout.
- log4j.appender.LOGFILE=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.LOGFILE.File=webapps/ColorTone/logs/log
- log4j.appender.LOGFILE.DatePattern =yyyy-MM-dd'.txt'
- log4j.appender.LOGFILE.Append=true
- log4j.appender.LOGFILE.Threshold=ERROR
- log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
- log4j.appender.LOGFILE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
以上配置是每天产生一个备份文件。其中备份文件的名字叫log。
具体的效果是这样:
当天的日志信息记录在log文件中,前一天的记录在名称为 logyyyy-mm-dd.txt 的文件中。
类似的,如果需要每月产生一个文件可以修改上面的配置:
将
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
改为
log4j.appender.R.DatePattern = '.'yyyy-MM
2、在ColorTone目录下建立logs目录
3、在action中增加
static Logger _log = Logger.getLogger(LoginAction.class.getName()); //log4j(1)
然后就可以在需要的地方进行日志记载
_log.debug("做下测试.debug");
_log.info("做下测试.info");
_log.warn("做下测试.warn");
_log.error("做下测试.error");
_log.fatal("做下测试.fatal");
注:日志文件最有有后缀,如logs.log,否则在linix版本下不能生成日志文件