【问题标题】:Warning in Initializing log4j初始化 log4j 中的警告
【发布时间】:2013-04-19 07:52:23
【问题描述】:

我在运行 struts 应用程序时收到以下错误。

13/04/19 12:42:21 log4j:WARN No appenders could be found for logger (org.apache.struts.util.PropertyMessageResources).
13/04/19 12:42:21 log4j:WARN Please initialize the log4j system properly.
13/04/19 12:42:21 log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

我的 log4j.properties 文件是:

log4j.threshold=ALL
log4j.rootLogger=ALL,DebugAppender,InfoAppender,RECEIPTAppender
#log4j.rootLogger=DEBUG,DebugAppender
log4j.category.DebugAppender.access=DEBUG
log4j.appender.DebugAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DebugAppender.Threshold=DEBUG
log4j.appender.DebugAppender.File=C:/APWD/ServerLogs/debug/assampwd.log
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%d |[%t]| %-5p |%c |- |%m|%n
#log4j.rootLogger=INFO,InfoAppender
log4j.category.InfoAppender.access=INFO
log4j.appender.InfoAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.InfoAppender.Threshold=INFO
log4j.appender.InfoAppender.File=C:/APWD/ServerLogs/debug/assampwd.log
log4j.appender.InfoAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoAppender.layout.ConversionPattern=%d |[%t]| %-5p |%c |- |%m|%n
#log4j.logger.com.ctmis.hibernate=ERROR, RECEIPTAppender
log4j.category.RECEIPTAppender.access=ERROR
log4j.appender.RECEIPTAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RECEIPTAppender.Threshold=ERROR
log4j.appender.RECEIPTAppender.File=C:/APWD/ServerLogs/debug/assampwd.log
log4j.appender.RECEIPTAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.RECEIPTAppender.layout.ConversionPattern=%d |[%t]| %-5p |%c |- |%m|%n

我的 log4j.properties 文件位于 WEB-INF 文件夹中。我在stackoverflow中找到了类似的主题,但对我来说没有用,所以我发布了它。如果有人可以帮助我,我将不胜感激,这是一条警告消息,但会导致某些模块无法在应用程序中运行。

谢谢

【问题讨论】:

  • 它应该在 WEB-INF/classes 下,你把它放在那里了吗?
  • 是的,我已将 log4j.properties 保留在 WEB-INF/classes 中,但仍显示相同的警告

标签: java log4j


【解决方案1】:

您的 log4j.properties 文件需要位于 root of your classpath 中。将文件复制到您的war文件中的WEB-INF/classes文件夹中。

如果您使用的是 Maven,这应该包括在运行打包命令之前将您的文件移动到项目的 src/main/resources 文件夹中。

【讨论】:

  • 我已经将 log4j.properties 保存在 WEB-INF/classes 文件夹中,但对我来说没有用,不知道还有什么可能是警告的原因
  • 您确定它在您的最终战争文件中的位置正确吗?解压并检查您的构建内容,我怀疑您的 log4j.properties 文件已被排除在外。
  • 是的,我已经仔细检查过 log4j.properties 和 log4j.xml 文件都在 WEB-INF/classes 文件夹中
【解决方案2】:

log4j 配置文件需要在类路径的根目录中。在 netbeans 中,当你创建一个 web 应用程序项目时,路径是 src\java。您可以通过右键单击项目 -> 属性 -> 源来查看源包文件夹。您可以将文件放在 src\java 文件夹中,或者创建一个新文件夹并从项目属性菜单中添加它。

【讨论】:

    猜你喜欢
    • 2011-12-02
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多