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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SLF4Jlog4j和logback是Java的三个不同的日志框架。SLF4JJava的一个日志门面,它提供了一些通用的API,可以与不同的具体日志框架集成使用log4j是一个具体的日志框架,它提供了丰富的功能和配置选项。logback则是由log4j的作者设计完成的一个日志框架,它拥有更好的特性,并且是SLF4J的原生实现。 区别如下: 1. SLF4J是一个日志门面,它只提供了一些通用的API,而不是具体的实现。它的作用是为了让开发人员可以在不同的日志框架之间进行切换和集成,而不需要修改代码。 2. log4j是一个具体的日志框架,它提供了丰富的功能和配置选项。log4j可以与SLF4J结合使用,需要提供一些对应的jar包。 3. logback是由log4j的作者设计完成的日志框架,它是SLF4J的原生实现。logback拥有更好的特性,并且可以完整地实现SLF4JAPI。logback包括了三个模块:logback-core、logback-classic和logback-access,分别用于提供基础功能、改良版本以及与Servlet容器集成。 因此,SLF4J提供了通用的日志接口,log4j是其中一个具体的实现,而logback则是log4j的改良版本,同时也是SLF4J的原生实现。根据具体需求和偏好,开发人员可以选择使用其中的任意一个日志框架。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Java日志框架SLF4Jlog4j以及logback的联系和区别](https://blog.csdn.net/weixin_30241919/article/details/101487496)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

svygh123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值