Spring对log4j的管理

14 篇文章 0 订阅
这两天在把一个系统向新平台迁移,碰到一个问题,日志文件没有生成,也谈不上记录日志了。该系统在以前的环境是可以记录日志的,系统是Spring框架,日志采用log4j。最后分析了一下,由于重新写了一个web.xml,其中配置了Log4jConfigLocation,但是没有配置org.springframework.web.util.Log4jConfigListener,所以日志文件没有产生。
    把采用spring框架中log4j方面的配置整理一下:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>myapp.root</param-value>
</context-param>
<!--
    如果不设置该参数,webAppRootKey默认缺省是"webapp.root",Web容器启动时会把root的路径写到系统变量中,log4j.properties文件用${webName.root }来表示Web目录的绝对路径,例如:log4j.appender.ROLLING_FILE.File=${myapp.root}/WEB-INF/myapp.log。
    注意:为避免多个应用的冲突,如果多应用的话,需要设置这个参数。
-->

<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<!--
    指定log4j.properties配置文件的位置
-->

<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!--
    Spring监听log4j配置文件的间隔时间,单位为毫秒
-->

<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!--
    Log4jConfigListener是spring的类,它开启一个log4j的监听线程,并每60 秒检测日志配置变化,不需要每次重新启动web应用以使新的配置生效。
    注意:该listener是必须配置的,否则日志文件生不出来。
-->


附录:
2011-7-27 18:58:25 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2011-7-27 18:58:44 org.apache.catalina.core.ApplicationContext log
信息: Set web app root system property: 'eprapp.root' = [D:\aa\apache-tomcat-6.0.18\webapps\erpmmmmapp\]
2011-7-27 18:58:44 org.apache.catalina.core.ApplicationContext log
信息: Initializing Log4J from [D:\XXXXX\WEB-INF\classes\log4j.properties] 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值