【发布时间】:2014-06-19 18:48:15
【问题描述】:
我在 WildFly 8.0 上运行 Spring 框架 3.2.2.RELEASE。我正在尝试让日志记录工作。我已经尝试阅读几个教程,但是似乎无法将任何输出输出到控制台或日志。我正在查看 Eclipse 中的控制台,以及 wildfly/standalone/log/server.log 中的日志。感谢您提供任何帮助进行日志记录。
这里有一些有趣的代码:
src/main/resources/log4j.xml:
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="com.myCompany.myPackage">
<level value="info" />
</logger>
<!-- 3rdparty Loggers
omitted
-->
<!-- Root Logger -->
<root>
<priority value="warn" />
<appender-ref ref="console" />
</root>
wildfly/standalone/configuration/standalone.xml:
<subsystem xmlns="urn:jboss:domain:logging:2.0">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<logger category="jacorb">
<level name="WARN"/>
</logger>
<logger category="jacorb.config">
<level name="ERROR"/>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
<formatter name="PATTERN">
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c
] (%t) %s%E%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c]
(%t) %s%E%n"/>
</formatter>
</subsystem>
src/com/myCompany/myPackage/mySubpackage/myClass.java
package com.myCompany.myPackage.mySubpackage;
import org.apache.log4j.Logger;
public class myClass
{
private static final Logger log = Logger.getLogger(myClass.class.getName());
public SoccerFeed someMethod()
{
log.info("******************* someMethod ");
}
}
解决方案: 根据下面 Jame 的回答,为了根据我上面的设置解决这个问题,我在 wildFly 的standalone.xml 中添加了以下内容,并且日志记录按预期工作:
<subsystem xmlns="urn:jboss:domain:logging:2.0">
<use-deployment-logging-config value="false"/>
【问题讨论】: