我使用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部署-structure.xml
<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="org.apache.log4j" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
文件all.log始终为空。
答案 0 :(得分:0)
您jboss-deployment-structure.xml
不正确。没有org.apache.log4j
子系统。如果您尝试排除日志记录子系统,则需要使用logging
作为子系统名称。
查看per-logging deployment文档。我建议你不要使用控制台appender。在关机期间可能会导致deadlocks。
请注意,如果您使用按日志记录部署配置或排除日志记录子系统,则不会在all.log
中看到服务器日志记录。