Java Servlet 使用slf4j配置log4j

1.Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方),
org.apache.log4j.jdbc.JDBCAppender(将日志保存到数据库)

2.添加依赖:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
</dependency>

3.在源码根路径下添加文件log4j.properties:

常用配置方式1(输出到控制台,并输出INFO级别及以上的日志到指定文件):
 

### set log levels ###
log4j.rootLogger = INFO,CONSOLE,I
 
### CONSOLE
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target = System.out
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n

### I
log4j.logger.I = INFO,I
log4j.appender.I.Append = true
log4j.appender.I = org.apache.log4j.RollingFileAppender
log4j.appender.I.File = D://logs/log.log
log4j.appender.I.MaxFileSize=10MB
log4j.appender.I.MaxBackupIndex=10
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n

常用配置方式2(输出到控制台,并输出DEBUG级别及以上的日志到指定文件,输出ERROR级别及以上的日志到指定文件):

### set log levels ###
log4j.rootLogger = DEBUG,CONSOLE,D,E
 
### CONSOLE
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target = System.out
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n

### D
log4j.logger.D = DEBUG,D
log4j.appender.D.Append = true
log4j.appender.D = org.apache.log4j.RollingFileAppender
log4j.appender.D.File = D://logs/Dlog.log
log4j.appender.D.MaxFileSize=10MB
log4j.appender.D.MaxBackupIndex=10
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n

### E
log4j.logger.E = ERROR,E
log4j.appender.E.Append = true
log4j.appender.E = org.apache.log4j.RollingFileAppender
log4j.appender.E.File = D://logs/Elog.log
log4j.appender.E.MaxFileSize=10MB
log4j.appender.E.MaxBackupIndex=10
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n

常用方式3(输出到控制台,并输出DEBUG级别到指定文件,输出INFO级别到指定文件,输出ERROR到指定文件):

### set log levels ###
log4j.rootLogger = DEBUG,CONSOLE,D,I,E
 
### CONSOLE
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target = System.out
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n

### D
log4j.logger.D = DEBUG,D
log4j.appender.D.Append = true
log4j.appender.D = org.apache.log4j.RollingFileAppender
log4j.appender.D.File = D://logs/Dlog.log
log4j.appender.D.MaxFileSize=10MB
log4j.appender.D.MaxBackupIndex=10
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n
log4j.appender.D.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.D.filter.infoFilter.LevelMin=DEBUG
log4j.appender.D.filter.infoFilter.LevelMax=DEBUG

### I
log4j.logger.I = INFO,I
log4j.appender.I.Append = true
log4j.appender.I = org.apache.log4j.RollingFileAppender
log4j.appender.I.File = D://logs/Ilog.log
log4j.appender.I.MaxFileSize=10MB
log4j.appender.I.MaxBackupIndex=10
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n
log4j.appender.I.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.I.filter.infoFilter.LevelMin=INFO
log4j.appender.I.filter.infoFilter.LevelMax=INFO

### E
log4j.logger.E = ERROR,E
log4j.appender.E.Append = true
log4j.appender.E = org.apache.log4j.RollingFileAppender
log4j.appender.E.File = D://logs/Elog.log
log4j.appender.E.MaxFileSize=10MB
log4j.appender.E.MaxBackupIndex=10
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] %m%n
log4j.appender.E.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.E.filter.infoFilter.LevelMin=ERROR
log4j.appender.E.filter.infoFilter.LevelMax=ERROR
发布了64 篇原创文章 · 获赞 34 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/svygh123/article/details/103271238