您的位置:首页 > 编程语言 > Java开发

log4j配置日志不显示问题排查方法

2013-06-07 10:38 393 查看
显示警告信息如下:

log4j:WARN
No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.

原因是是在加载org.springframework.web.context.ContextLoader这个listener的时候没找到log4j的配置文件造成的。 

1.先去查看web.xml的配置:

web工程启动的时候会按照xml的书写顺序地去加载各项配置,先保证log4j的相关配置放在ContextLoaderListener的前面:

<!--Log4j -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>6000</param-value>
</context-param>
<!-- 上下文参数 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!--org.springframework.web.context.ContextLoaderListener -->
<listener>
<display-name>context</display-name>
<listener-class>com.mycompty.framework.listener.ContextListener</listener-class>
</listener>

2.如果上面顺序没错的的话,再查看log4j.properties文件的配置有没有错

我把log4j.properties放在了WEB-INF下,内容大致如下

log4j.rootLogger=info,
stdout, D

log4j.logger.com=info

#log4j.logger.org.springframework.web.servlet.UmessageDispatcher=ERROR

#console

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %5p %c{1}:%L -> %m%n

##error file

log4j.logger.D=error

log4j.appender.D=org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.layout=org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %5p %c{1}:%L -> %m%n

log4j.appender.D.datePattern='.'yyyy-MM-dd

log4j.appender.D.Threshold = ERROR 

log4j.appender.D.append=true

log4j.appender.D.File=/data/logs/project_logs/error.log

##daily file

log4j.appender.D=org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File=/data/logs/project_logs/project.log 

log4j.appender.D.layout=org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %5p %c{1}:%L -> %m%n

3.以上都没错误的话日志应该就能出来了,但是我的还是显示警告信息没有日志,最后发现是properties配置文件里有些配置是直接从网上粘过来的,导致一些编码方式有问题(尤其是包含中文的时候),把文件删了重建一次 内容重新粘一次  保存的时候注意一下编码对不对;坑爹的问题解决了
 -_-|||
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  log4j Java