Log4j 的配置和在 Spring 中的使用

本文介绍了Log4j的基本配置方法及其在Spring框架中的使用。包括日志级别设置、输出方式选择及样式定义等关键内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Log4j作为一个强大的日志包,是非常有必要学会使用的,其实也不难

它有xml配置,与properties配置两种,我喜欢properties这种,很明了

一个简单的配置如下:

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=D-D %d{ABSOLUTE} %30.30c %5.5p %m%n

log4j.logger.org.directwebremoting.log.startup=INFO  //关注部分,也就什么需要日志记录

 复杂一点的:

  1. log4j.rootCategory=INFO, stdout , R  
  2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
  3. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
  4. log4j.appender.stdout.layout.ConversionPattern=%d-[HL] %p %t %c - %m%n  
  5.   
  6. log4j.appender.R=org.apache.log4j.RollingFileAppender  
  7. log4j.appender.R.File=${应用名.root}/WEB-INF/logs/xx.log  
  8. log4j.appender.R.MaxFileSize=1024KB  
  9. log4j.appender.R.MaxBackupIndex=10  
  10. log4j.appender.R.layout=org.apache.log4j.PatternLayout  
  11. log4j.appender.R.layout.ConversionPattern=%d-[HL] %p %t %c - %m%n  
  12.   
  13. log4j.logger.org.springframework=DEBUG  
  14. log4j.logger.org.hibernate=DEBUG  
  15. log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN  
  16. log4j.logger.com.lagooo.as=DEBUG 

Log4j有3个东西:

1)logger 就是:什么是你关心的,需要记录日志的

2)appender 输出的方式:控制台?文件?

3)layout 输出的样式: 日志记录的格式

 

看上的第一句:

log4j.rootLogger=INFO, stdout

是跟logger ,它的记录等级为INFO,名字叫 stdout (默认解释为标准输出,随便取名字的)

日志等级有5种:

DEBUG、INFO、WARN、ERROR、FATAL(这个是由轻到重排列)

日志等级为INFO意思是,大于等于INFO等级的才进行记录!(也就是DEBUG等级的忽略)

 

往下看是:log4j.appender.stdout=org.apache.log4j.ConsoleAppender

也就是appender,控制记录日志的方式,以下几种:

  org.apache.log4j.ConsoleAppender(控制台)
  org.apache.log4j.FileAppender(文件)
  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
  org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件)
  org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

(看仔细点,可以看到appender.stdout=xxx ,也就是说,log4j可以定义多个logger,用不同的方式记录)

 

再下来就是 layout部分:

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=D-D %d{ABSOLUTE} %30.30c %5.5p %m%n

这个是输出的格式,这个内容比较多,篇幅问题,在这里就不说了,有兴趣的自己

一搜,肯定有

 

最下面是,logger的内容

也就是指定什么是你关系的部分,需要做日志的部分

log4j.logger.org.directwebremoting.log.startup=INFO  这个是只想买启动的时候做启动日志

日志等级为INFO(也就是DEBUG等级就不录)

 

Log4j常常在Spring中使用

用法:

在web.xml加入

<context-param>

  <param-name>log4jConfigLocation</param-name>

  <param-value>\WEB-INF\classes\log4j.properties</param-value>  //配置log4j路径
 </context-param>
 
 <listener>  // 使用了spring的 listener 在项目启动的时候,启动log4j
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
 </listener>

 

然后在log4j.properties中加入最上面的配置,就可以使用了

如果你关心Hibernate信息,想为它做日志的话,可以加入:

log4j.logger.org.hibernate=DEBUG
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN

关心spring的话:

log4j.logger.org.springframework=WARN

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值