【发布时间】:2023-04-04 03:17:02
【问题描述】:
我的网络应用似乎运行良好。我决定添加一些日志记录。当我部署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 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%。
【问题讨论】:
-
试着把它放在 META-INF 文件夹中,或者放在 WEB-INF/classes 中。
-
我这样做了,但没有得到任何结果。我停止并重新启动了 Tomcat 中的应用程序。我在 catalina.out 中没有得到任何东西,也没有日志文件。
-
你能发布你的 log4j.properties 吗?