1、新建web工程
2、加入jar包 log4j.jar
3、配置log4j.properties
log4j.rootLogger=DEBUG,CONSOLE,FILE,DailyRollingFile,RollingFile,EFile
#Console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#File
log4j.appender.FILE = org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File =d:\\log\\log_File\\log.log
log4j.appender.FILE.Append = true
log4j.appender.FILE.Threshold = ERROR
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern =%d [%t] %-5p %c - %m%n
#DailyRollingFile
log4j.appender.DailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRollingFile.File = d:\\log\\log_DailyRollingFile\\log.log
log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DailyRollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#RollingFile
log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
log4j.appender.RollingFile.File = d:\\log\\log_RollingFile\\log.log
log4j.appender.RollingFile.MaxFileSize=1KB
log4j.appender.RollingFile.MaxBackupIndex=3
log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
#EFile
log4j.appender.EFile = org.apache.log4j.RollingFileAppender
log4j.appender.EFile.File = d:\\log\\log_EFile\\log.log
log4j.appender.EFile.MaxFileSize=1KB
log4j.appender.EFile.MaxBackupIndex=3
log4j.appender.EFile.layout = org.apache.log4j.PatternLayout
log4j.appender.EFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
4、测试java类
package testLog4j;
import org.apache.log4j.Logger;
public class Test {
private static Logger logger=Logger.getLogger(Test.class);
public static void main(String[] args) {
for(int i=0;i<10;i++){
logger.info("Info");
logger.debug("debug");
logger.error("error");
logger.fatal("fatal");
logger.warn("warn");
System.out.println("----------------- "+i+" ---------------------");
}
}
}
5、结果
a)、
# 将 ERROR 日志输出到 FILE 文件(Threshold=ERROR)
# DEBUG 日志输出到Console、DailyRollingFile、RollingFile、EFile。
b)、
# 两者结果相同,RollingFile 和 EFile 是文件名,对结果无影响
# EFile
log4j.appender.EFile = org.apache.log4j.RollingFileAppender
# RollingFile
log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
c)、
# File
# 输出类型:
log4j.appender.FILE = org.apache.log4j.DailyRollingFileAppender
# 输出路径:
log4j.appender.xxx.File =d:\\log\\log_EFile\\log.log
# 是否追加:
log4j.appender.FILE.Append = true
# FILE 日志级别:
log4j.appender.FILE.Threshold = ERROR
# 自定义输出格式:
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern =%d [%t] %-5p %c - %m%n
# RollingFile
# 文件最大容量为1kb
log4j.appender.RollingFile.MaxFileSize=1KB
# 文件最大数量为3
log4j.appender.RollingFile.MaxBackupIndex=3
6、可能遇到的错误
1) Logger cannot be resolved to a type
原因:log4j.jar包导入出错,重新导入并buildPath
2) log4j中Logger.getLogger()加载一个类提示错误错误提示如下:
The method getLogger(String) in the type Logger is not applicable
for the arguments (Class)
原因:你import的不会是java.util.logging.Logger吧?
要导入import org.apache.log4j.Logger.Logger