java - Wildfly 日志记录到文件问题

标签 java logging log4j wildfly

我正在使用 Wildfly、JSF、Spring、Hibernate 并尝试在我的应用程序中配置日志记录。记录到控制台工作正常,但记录到文件不工作。我到底做错了什么?

log4j.xml

<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>

  <appender name="LOG-ALL-APPENDER" class="org.apache.log4j.RollingFileAppender">
        <param name="append" value="false"/>
        <param name="file" value="all.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} [%5p] %c %m at %l%n"/>
        </layout>
  </appender>


  <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <param name="target" value="System.out"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} [%5p] %m at %l%n"/>
        </layout>
  </appender>

  <root>
    <level value="INFO"/>
    <appender-ref ref="LOG-ALL-APPENDER"/>
    <appender-ref ref="CONSOLE"/>
  </root>

</log4j:configuration>

jboss-deployment-struct.xml

<jboss-deployment-structure>
    <deployment>
        <exclude-subsystems>
            <subsystem name="org.apache.log4j" />
        </exclude-subsystems>
    </deployment>
</jboss-deployment-structure>

文件 all.log 始终为空。

最佳答案

您的jboss-deployment-struction.xml不正确。没有 org.apache.log4j 子系统。如果您尝试排除日志记录子系统,则需要使用 logging 作为子系统名称。

看看 per-logging deployment文档。我建议您不要使用控制台附加程序。它可能会导致 deadlocks关机期间。

请注意,如果您使用按日志记录部署配置或排除日志记录子系统,您将不会在 all.log 中看到服务器日志记录。

关于java - Wildfly 日志记录到文件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28966965/

相关文章:

java - Kafka Log4j 附加程序中的延迟

java - 如何在 Appium 中禁用 Android 设备上的 Wi-Fi?

java - 字母数字电话号码转换器

java - 如何在 ITEXT PDF java 中添加登录行?

java - 如何在 Spring Controller 方法中从许多 @RequestParam 参数切换到 @ModelAttribute

java - 如何使用 log4j2 只记录一个级别?

python记录到数据库

scala - 找不到记录器的附加程序(org.apache.kafka.clients.consumer.ConsumerConfig)

c# - 将异常写入 Windows 日志文件

java - 如何使用 log4j 编写多级日志消息? (例如信息和错误)