1、maven加载依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.36</version>
</dependency>
2、配置log4j.properties
a、按照日期回滚日志文件
### 设置rootLogger ###
log4j.rootLogger=debug,stdout,logfile
### 输出所有信息到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.Target=System.err
### %l 等同于 %C.%M(%F:%L)
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%t] %C.%M(%F:%L) - %m%n
### 输出所有信息到文件 ###
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=./Log/log4j/log4j-Daily.log
#日志立即输出,不用缓冲,默认为true
log4j.appender.logfile.ImmediateFlush=true
#因为是文件,所以会有追加的动作,控制是否追加,还是覆盖,默认为true
log4j.appender.logfile.Append=true
log4j.appender.logfile.DatePattern=yyyy-MM-dd'.log'
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %C{1}.%M(%F:%L) - %m%n
### 输出DEBUG级别信息到文件 ###
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=./Log/log4j/log4j-Daily-debug.log
log4j.appender.logfile.ImmediateFlush=true
log4j.appender.logfile.Append=true
log4j.appender.logfile.DatePattern=yyyy-MM-dd'.log'
log4j.appender.logfile.Threshold=DEBUG
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %C{1}.%M(%F:%L) - %m%n
b、按照大小回滚日志文件
### 设置rootLogger ###
log4j.rootLogger=debug,stdout,logfile
### 输出所有信息到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS}
### 输出所有信息到文件 ###
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=./Log/log4j/log4j-Size.log
#日志立即输出,不用缓冲,默认为true
log4j.appender.logfile.ImmediateFlush=true
#因为是文件,所以会有追加的动作,控制是否追加,还是覆盖,默认为true
log4j.appender.logfile.Append=true
log4j.appender.logfile.MaxFileSize=10MB
log4j.appender.logfile.MaxBackupIndex=7
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %C{1}.%M(%F:%L) - %m%n
### 输出DEBUG级别信息到文件 ###
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=./Log/log4j/log4j-Size-debug.log
log4j.appender.logfile.ImmediateFlush=true
log4j.appender.logfile.Append=true
log4j.appender.logfile.MaxFileSize=10MB
log4j.appender.logfile.MaxBackupIndex=7
log4j.appender.logfile.Threshold=DEBUG
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %C{1}.%M(%F:%L) - %m%n