【问题标题】:Why can't tomcat find my log4j.properties file?为什么tomcat找不到我的log4j.properties文件?
【发布时间】: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 吗?

标签: java servlets classpath


【解决方案1】:

将 log4j.properties 复制到 WEB-INF/classes 中。

【讨论】:

  • +1 - 将其放在类路径中,这样 getResource 可以将其定位为“/log4j.properties”
  • 我这样做了,但没有得到任何结果。我停止并重新启动了 Tomcat 中的应用程序。我在 catalina.out 中没有得到任何东西,也没有日志文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-24
  • 2023-03-31
  • 1970-01-01
  • 2018-02-14
相关资源
最近更新 更多