Java 为什么tomcat找不到我的log4j.properties文件?
我的网络应用程序似乎运行良好。我决定添加一些日志记录。当我部署war文件时,由于tomcat不知道log4j.jar,应用程序出现异常而失败 我将jar添加到WEB-INF/lib文件夹并重新部署。例外情况消失了。这让我知道WEB-INF/lib在类路径上 但是,现在logs/catalina.out有以下典型错误消息:Java 为什么tomcat找不到我的log4j.properties文件?,java,servlets,classpath,Java,Servlets,Classpath,我的网络应用程序似乎运行良好。我决定添加一些日志记录。当我部署war文件时,由于tomcat不知道log4j.jar,应用程序出现异常而失败 我将jar添加到WEB-INF/lib文件夹并重新部署。例外情况消失了。这让我知道WEB-INF/lib在类路径上 但是,现在logs/catalina.out有以下典型错误消息: log4j:WARN No appenders could be found for logger (com.this.that.Validate). log4j:WARN P
log4j:WARN No appenders could be found for logger (com.this.that.Validate).
log4j:WARN Please initialize the log4j system properly.
因此,我将log4j.properties文件复制到WEB-INF/lib文件夹中
log4j警告仍然显示,据我所知,没有记录任何内容
我希望能得到一些关于解决这个问题的指导。我在追我的尾巴
使现代化
我相信我的第一个问题已经解决了——我不再得到警告信息。我认为发生的事情是,我有一个unix shell,在分解的文件层次结构中有一个pwd,这阻止了Tomcat成功地删除旧项目
LOG4j
我的log4j.properties文件是
log4j.rootLogger=DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=prog1.log
log4j.appender.FILE.MaxFileSize=100KB
# Keep one backup file
log4j.appender.FILE.MaxBackupIndex=1
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%p %t %c - %m%n
决议
我将“log4j.appender.FILE.FILE=prog1.log”行改为具有指向tomcat日志文件夹的显式路径
谢谢大家,你的想法帮助我解决了这个问题,使我变得更聪明了3.18%。将log4j.properties复制到WEB-INF/classes中。试着将它放在META-INF文件夹或WEB-INF/classes中。我这样做了,但没有得到任何结果。我在Tomcat中停止并重新启动了应用程序。我在catalina.out中没有得到任何东西,也没有日志文件。你能发布你的log4j.properties吗?+1-将它放在那里会将它放在类路径上,这样getResource就可以将它定位为/log4j.properties,我这样做了,但没有得到任何结果。我在Tomcat中停止并重新启动了应用程序。我在catalina.out中没有得到任何东西,也没有日志文件。