【问题标题】:log4j configuration not used未使用 log4j 配置
【发布时间】:2013-02-08 04:51:29
【问题描述】:

我的 log4j 记录器不想使用要配置的 log4j.xml 文件。该文件位于src 文件夹中,如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
    <appender name="ROLLING" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="C:\debug\myproject\logfile.log" />
        <param name="MaxFileSize" value="10024KB" />
        <param name="MaxBackupIndex" value="5" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L)  -%m%n" />
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="FATAL" />
        </filter>
    </appender>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="ROLLING" />
    </root>
</log4j:configuration>

但是logfile.log 仍然是空的,并且控制台中没有DEBUG 行。

注意:它是基于 JBoss 7.1.0 并使用 Struts2 的 Java EE 项目。

【问题讨论】:

  • 你如何加载 log4j 设置?还显示构建项目中 log4j conf 的路径
  • 您是否尝试过“-Dlog4j.debug”或任何有据可查的标准方法来解决您的设置问题?
  • 我在一些帖子中看到,log4j 正在自行寻找 log4j.properties 或 xml 文件。所以,我没有指定其他任何东西。
  • 配置文件是否实际部署在类路径的根目录下?
  • 你可能正在使用其他一些日志记录机制

标签: java jakarta-ee struts2 log4j


【解决方案1】:

以下答案不完全是我的。它是由 OP 在问题本身中发布的,因此我将其移至此社区 wiki 答案中。


我通过显式配置日志记录配置解决了这个问题。

请注意,如果您使用文件进行配置,您将无法在运行时更改配置。

欲了解更多信息,请参阅:https://docs.jboss.org/author/display/AS71/How+To#HowTo-HowdoIuselog4j.propertiesorlog4j.xmlinsteadofusingtheloggingsubsystemconfiguration%3F

【讨论】:

    【解决方案2】:

    问题出在日志文件上。如果您使用绝对文件名,请确保将反斜杠替换为斜杠。例如

    <param name="File" value="C:/debug/myproject/logfile.log" /> 
    

    【讨论】:

      【解决方案3】:

      确保 log4j.xml 文件位于您的 Web 应用程序的 /WEB-INF/classes 目录中。

      【讨论】:

      • 是的,它在这个目录中。
      • .. 理想情况下它应该在 EAR 之外。您的日志配置文件位置应该独立于您构建和部署的 EAR。这意味着您可以从 DEBUG 切换到 INFO,而无需构建 EAR,这是一个漫长的过程:)
      猜你喜欢
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多