WARN No appenders&nbsp…

本文介绍了一种解决MyEclipse环境下Spring项目启动时出现的Log4j警告的方法,通过调整配置文件及使用Spring提供的Log4jConfigListener来避免警告信息。

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

博主疑问???

我在使用myeclipse开发spring中遇到这个问题,我建立的是java工程而非WEB工程,下面的提示应该是是按照WEB来写的吧,因为我这里肯定是没有涉及到Servlert。xml的!!

在这里写下一个疑问??之前说的导包的问题其实在myeclipse应该是不存在的,因为右键后myeclipse/add Spring cabability这样会选择spring的包的。。。。但是maven是干什么用的?这里还需继续探讨,先深入学习再说,因为在和网友交流的时候大多数都说使用maven解决这个导包的繁琐问题!!

错误现象:

    每次启动Tomcat6.0总会出现如下提示,但不影响Tomcat正常运行。提示如下:

    log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

 

问题原因:

    之前是通过设置Servlet自启动来初始化Log4j的配置,因此可能与后面采用的Spring不兼容。

    原配置如下:

  1. <</SPAN>servlet>  
  2.     <</SPAN>description>启动并初始化Log4j,启动定时扫描任务</</SPAN>description>  
  3.     <</SPAN>servlet-name>InitServlet</</SPAN>servlet-name>  
  4.     <</SPAN>servlet-class>servlet.InitServlet</</SPAN>servlet-class>  
  5.     <</SPAN>init-param>  
  6.         <</SPAN>param-name>log4jConfigFile</</SPAN>param-name>  
  7.         <</SPAN>param-value>WEB-INF/log4j.properties</</SPAN>param-value>  
  8.     </</SPAN>init-param>  
  9.     <</SPAN>load-on-startup>1</</SPAN>load-on-startup>  
  10. </</SPAN>servlet>  
  11.   
  12. <</SPAN>context-param>  
  13.     <</SPAN>param-name>contextConfigLocation</</SPAN>param-name>  
  14.     <</SPAN>param-value>/WEB-INF/applicationContext*.xml</</SPAN>param-value>  
  15. </</SPAN>context-param>  
  16.   
  17. <</SPAN>listener>  
  18.     <</SPAN>listener-class>  
  19.         org.springframework.web.util.Log4jConfigListener  
  20.     </</SPAN>listener-class>  
  21. </</SPAN>listener>  
  22.   
  23. <</SPAN>listener>  
  24.     <</SPAN>listener-class>  
  25.         org.springframework.web.context.ContextLoaderListener  
  26.     </</SPAN>listener-class>  
  27. </</SPAN>listener>  
启动并初始化Log4j,启动定时扫描任务 InitServlet servlet.InitServlet log4jConfigFile WEB-INF/log4j.properties 1 contextConfigLocation /WEB-INF/applicationContext*.xml org.springframework.web.util.Log4jConfigListener org.springframework.web.context.ContextLoaderListener

 

解决方法:

    使用org.springframework.web.util.Log4jConfigListener配置代替自定义的InitServlet来初始化Log4j,即删除InitServlet配置

  1. <</SPAN>context-param>  
  2.     <</SPAN>param-name>log4jConfigLocation</</SPAN>param-name>  
  3.     <</SPAN>param-value>/WEB-INF/log4j.properties</</SPAN>param-value>  
  4. </</SPAN>context-param>  
  5.   
  6. <</SPAN>listener>  
  7.     <</SPAN>listener-class>  
  8.         org.springframework.web.util.Log4jConfigListener  
  9.     </</SPAN>listener-class>  
  10. </</SPAN>listener>  
log4jConfigLocation /WEB-INF/log4j.properties org.springframework.web.util.Log4jConfigListener

 

注意:要严格按照以上配置顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

huangleijay

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

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

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

打赏作者

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

抵扣说明:

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

余额充值