这是我们如何做到这一点的,顺便说一下,我们使用的是 wildfly-8.1.0-Final。
首先,制作一个包含这个类的jar文件:
https ://gist.github.com/xiaodong-xie/219491e0b433f8bd451e
然后把这个jar文件放到“wildfly-8.1.0.Final/modules/system/layers/base/org/jboss/logmanager/main”中,在module.xml文件中添加对这个jar文件的引用,一模一样文件夹。
然后将“logback-classic-1.1.2.jar”和“logback-core-1.1.2.jar”(您可以使用您选择的任何版本的logback)放入“wildfly-8.1.0.Final/modules/system/ layers/base/org/jboss/logmanager/main",并在 module.xml 文件中引用这两个 jar 文件。
将以下内容添加到您正在使用的standalone.xml 中的“subsystem:logging”中:
<custom-handler name="logback" class="org.slf4j.bridge.SLF4JBridgeHandler" module="org.jboss.logmanager"></custom-handler>
并在以下根记录器元素中引用此处理程序:
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="logback"/>
</handlers>
</root-logger>
这是 logback.xml 的示例:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>
<appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${JBOSS_HOME}/standalone/log/server-logback.log</file>
<append>true</append>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="LOGFILE"/>
</appender>
<root level="INFO">
<appender-ref ref="ASYNC"/>
</root>
</configuration>
并将这个 logback.xml 文件放入“wildfly-8.1.0.Final/standalone/configuration”文件夹。
将以下内容添加到“wildfly-8.1.0.Final/bin”文件夹中的“standalone.sh”或等效文件中。
-Dlogback.configurationFile=file:$JBOSS_CONFIG_DIR/logback.xml
就在“-Dlogging.configuration=file:$JBOSS_CONFIG_DIR/logging.properties”行下。“standalone.sh”文件中有两个地方。
==================================================== ================================
或者你可以用更简单的方式来做。:)
将2个logback jar文件放入“jboss.logmanager”模块,在“standalone.sh”文件中添加“-Dorg.jboss.logging.provider=slf4j”,位置相同。
顺便说一句,我发现如果这样做会丢失一些日志记录,因为如果这样做,Wildfly 本身仍然使用自己的日志记录工具。
玩得开心。:-)