我正在使用 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/