java web使用log4j无法写入到日志文件

项目环境

1.项目类型:java web

2.web容器:tomcat

3.框架:spring

4.调用代码:spring配置的定时任务,任务执行类用@Component注入(开始还以为是这里出了问题 ̄□ ̄||)

主要现象

1.启动tomcat后,发现日志无法写入

2.删除日志文件再次启动,日志文件没有新建

3.单独在类中执行main方法里的log操作可以写入到文件中

4.启动tomcat后,日志可以输入到控制台,但是不能写入到文件中

log4j.properties

####写入到文件!!没反应######
log4j.logger.exceptions=info, exceptions
log4j.appender.exceptions=org.apache.log4j.DailyRollingFileAppender
log4j.appender.exceptions.DatePattern='.'yyyyMMdd
log4j.appender.exceptions.File=/data/wapage/log/appmanager/exceptions.log
log4j.appender.exceptions.layout=org.apache.log4j.PatternLayout
log4j.appender.exceptions.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} | %m%n
######输入到控制台!!有输出###########
log4j.logger.test=info, A
log4j.appender.A=org.apache.log4j.ConsoleAppender 
log4j.appender.A.layout=org.apache.log4j.PatternLayout 
log4j.appender.A.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} | %m%n

解决方案

问题在于日志文件的路径配置上

文件路径要指定绝对路径不能指定相对路径

配置成相对路径是,eclipse下能生成相对应的日志文件,但是web容器启动的时候是找不到这个路径的(为什么找不到,不是很清楚)。

感谢解决方案作者:feiyeguohai http://feiyeguohai.iteye.com/blog/1824961