Вот как мы это делаем, кстати, мы используем 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» и добавьте ссылку на этот jar-файл в файл module.xml точно так же. папка.
Затем поместите «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" и сослаться на эти 2 jar-файла в файле module.xml.
Добавьте следующее в «subsystem: logging» в используемом вами файле standalone.xml:
<custom-handler name="logback" class="org.slf4j.bridge.SLF4JBridgeHandler" module="org.jboss.logmanager"></custom-handler>
И укажите этот обработчик в элементе root-logger следующим образом:
<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».
Добавьте следующее в «standalone.sh» или эквивалент в папке «wildfly-8.1.0.Final/bin».
-Dlogback.configurationFile=file:$JBOSS_CONFIG_DIR/logback.xml
Прямо под строкой «-Dlogging.configuration=file:$JBOSS_CONFIG_DIR/logging.properties». В файле «standalone.sh» есть 2 места.
=================================================================================
Или можно сделать это более простым способом. :)
Поместите 2 jar-файла logback в модуль «jboss.logmanager» и добавьте «-Dorg.jboss.logging.provider=slf4j» в файл «standalone.sh» в той же позиции.
Я обнаружил, что при таком подходе отсутствуют некоторые журналы, поскольку сам Wildfly по-прежнему использует собственное средство ведения журналов, если идет по этому пути.
Радоваться, веселиться. :-)
person
Xiaodong Xie
schedule
13.10.2014