Override logging in WildFly

Użyłem tomcat i po prostu nadpisałem domyślny system logowania. Jak włączyć logowanie za pomocą logback na wildfly w mojej aplikacji spring?

Mój Logback.XML owrking on tomcat
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
        </encoder>
    </appender>

    <logger name="org.springframework" level="WARN" />
    <logger name="com.citronium.planstery" level="INFO" />
    <logger name="org.apache.http.impl.conn.tsccm" level="ERROR" />

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>
Author: pbaris, 2014-02-18

2 answers

Możesz użyć logback, aby skonfigurować logowanie do aplikacji. Nie można używać logback do konfigurowania logowania dla serwera.

Aby użyć logback w konfiguracji, musisz zmienić add-logging-api-dependencies na false lub utworzyć jboss-deployment-structure.xml, który wyklucza podsystem. Musisz również uwzględnić logback i slf4j w swoim wdrożeniu.

Pierwszą opcją zmiany add-logging-api-dependencies jest ustawienie globalne dla wszystkich wdrożeń. Następujące polecenie CLI zmieni wartość:

/subsystem=logging:write-attribute(name=add-logging-api-dependencies,value=false)

Ta opcja po prostu nie dodaje żadnych ukrytych zależności logowania do twojego wdrożenia.

Druga opcja użycia jboss-deployment-structure.xml wyłączy podsystem logowania tylko dla Twojego wdrożenia. Poniżej znajduje się przykładowy plik:

<jboss-deployment-structure>
  <deployment>
     <!-- exclude-subsystem prevents a subsystems deployment unit processors running on a deployment -->
     <!-- which gives basically the same effect as removing the subsystem, but it only affects single deployment -->
     <exclude-subsystems>
        <subsystem name="logging" />
    </exclude-subsystems>
  </deployment>
</jboss-deployment-structure>
 32
Author: James R. Perkins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-30 11:06:43

Oto Jak to robimy, przy okazji, używamy wildfly-8.1.0-Final.

Najpierw Utwórz plik JAR zawierający tę klasę: https://gist.github.com/xiaodong-xie/219491e0b433f8bd451e

Następnie umieść ten plik jar w "wildfly-8.1.0.Final / modules/system/layers/base/org/JBoss/logmanager / main" i dodać odniesienie do tego pliku jar w module.plik xml w dokładnie tym samym folderze.

Następnie wpisz " logback-classic-1.1.2.jar "oraz" logback-core-1.1.2.jar" (można użyć dowolna wersja logbacka którą wybierzesz) do "wildfly-8.1.0.Final / modules / system/layers/base/org/JBoss/logmanager / main" i odwołaj się do tych 2 plików jar w module.plik xml.

Dodaj następujące elementy do" podsystemu:logging " w standalone.xml, którego używasz:

<custom-handler name="logback" class="org.slf4j.bridge.SLF4JBridgeHandler" module="org.jboss.logmanager"></custom-handler>

I odwołaj się do tej obsługi w elemencie root-logger:

        <root-logger>
            <level name="INFO"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="logback"/>
            </handlers>
        </root-logger>

Oto przykład logbacka.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>

I umieścić ten logback.plik xml do "wildfly-8.1.0.Folder Final / standalone / configuration".

Dodaj następujący tekst do "standalone.sh" lub odpowiednik w "wildfly-8.1.0.Folder Final/bin".

-Dlogback.configurationFile=file:$JBOSS_CONFIG_DIR/logback.xml

Tuż pod " - Dlogging.configuration = file:$jboss_config_dir / logging.properties " line. Są 2 miejsca w "standalone.sh" plik.

=================================================================================

Albo można to zrobić w prostszy sposób. :)

Umieść 2 pliki logback Jar na "jboss.logmanager "module, and add" - Dorg.jboss.logowanie.provider = slf4j " do "standalone.sh / align = "left" /

Odkryłem, że brakuje niektórych logowań, jeśli chodzi o to przy okazji, ponieważ sama Wildfly nadal korzysta z własnego urządzenia do logowania, jeśli idzie w tę stronę.

Baw się dobrze. :-)
 4
Author: Xiaodong Xie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-13 14:19:11