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版本下不能生成日志文件