在使用spring先后开发了两个模块,单独测试都正常。也先后上线运行,之后发现有个模块在启动Tomcat后总是初始化失败,必须到tomcat管理控制台手动启动。找了半天也没发现原因。后来管理员在每次重启Tomcat后这个模块没有运行导致一堆问题和麻烦,今天特意查看了其他的tomcat日志文件,终于发现了问题所在,原来是Log4jConfigListener。使用它是为了随时调整打印日志的级别而不用重启服务。没想到没有享受到它的便利,反而出了一堆问题,只能怪自己没有稍微仔细研究一下。
web.xml
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>message.web.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
log4j.properties配置
layoutPattern=[%d{HH:mm:ss}] %-5p : %m%n
log.file=${message.web.root}/logs/app.log
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=${log.file}
log4j.appender.logfile.Append=true
log4j.appender.logfile.DatePattern='.'yyyyMMdd
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=${layoutPattern}
其实需要注意的地方就是应用服务器下有不止一个的应用在使用spring的Log4jConfigListener需要修改web环境中webAppRootKey值(这个值其实是web应用的根目录在环境变量名,这样在log4j配置文件中如果有相对web目录的路径就不用写死了)。
否则两个默认值web.root在环境变量中就会有冲突导致第二个应用启动失败。
分享到:
相关推荐
在网上找不到好的实现,自己写了一个,spring log4j 实例
简单的demo4初学者,用到spring注解,log4j记录日志到文件
spring log4j配置文件资料 spring log4j配置文件资料 spring log4j配置文件资料
Spring4.3.7的log4j以及配置文件Spring4.3.7的log4j以及配置文件Spring4.3.7的log4j以及配置文件
spring5取消Log4jConfigListener,运用Log4jServletContextListener代替Log4jConfigListener(log4j2.xml的配置)
很简单的一个spring整合log4j的例子,适合初学者学习
Log4j+API帮助文档,log4j详细配置。log4j与spring的详细配置。
spring5学习笔记.
Spring中使用Log4J的Eclipse项目!
此资源包含spring-boot-starter-log4j2日志框架所需的jar包及版本,童叟无欺,真实有效,放心下载
Spring MVC框架整合log4j的完整代码。
log4j2-spring.xml配置文件
Log4j2、Fastjson、Log4j的BurpSuite插件亲测有效,非常好用老版的BurpSuite和新版的都可以使用。祝大家挖洞顺利(工具仅用于学习交流)
Spring MVC集成 Log4j
Spring对Log4J的增强.txtSprig对Spring对Log4J的增强.txtLog4J的增强.txt
NULL 博文链接:https://quicker.iteye.com/blog/676620
NULL 博文链接:https://guoruisheng-163-com.iteye.com/blog/577083
同时使用了Struts2、Spring4、Hibernate4、log4j、slf4j、junit4、ehcache等库或框架,搭建一个最基本的项目原型。 三、 三大框架最新版本下载:截止2014-10-01 Struts2.3.6:发布于2014-05-03,目前的最新版本。...
struts+hibernate+spring+xdoclet+ant+log4j 技术整合,有实例参考,最好的框架!
spring+springMVC+mybatis+log4j框架整合,下载导入即可使用,使用时请配置自己的数据库信息即可。