0
点赞
收藏
分享

微信扫一扫

log4j 注意事项

 

 

因为项目是 ssm+maven

所以有关log4j的注意事项记录一下

 

首先,需要在web.xml里配置spring的拦截器用于支持在项目下生成log4j日志文件

<!-- 配置log4j输出日志文件的相对路径的spring监听器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

 

因为默认项目目录就是 webapp.root ,所以直接这样配置即可

### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到console ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到 ${webapp.root}/WEB-INF/logs/debug/DEBUG.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ${webapp.root}/WEB-INF/logs/debug/DEBUG.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

### 输出ERROR 级别以上的日志到 ${webapp.root}/WEB-INF/logs/error/ERROR.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ${webapp.root}/WEB-INF/logs/error/ERROR.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ]

 

 

 

还有,如果要想成功使用log4j把日志记录进文件,就必须使用log4j专用的记录器:

private final static Logger logger=Logger.getLogger(xxx.class);

参考:

log4j中Logger.getLogger与LogFactory.getLog的区别

 

 

log4j优先级:

日志信息的优先级

org.apache.log4j.Level类提供以下级别,但也可以通过Level类的子类自定义级别。

Level

描述

ALL

各级包括自定义级别

DEBUG

指定细粒度信息事件是最有用的应用程序调试

ERROR

错误事件可能仍然允许应用程序继续运行

FATAL

指定非常严重的错误事件,这可能导致应用程序中止

INFO

指定能够突出在粗粒度级别的应用程序运行情况的信息的消息

OFF

这是最高等级,为了关闭日志记录

TRACE

指定细粒度比DEBUG更低的信息事件

WARN

指定具有潜在危害的情况

 

对于标准级别它们关系如下:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF

 




举报

相关推荐

0 条评论