2

を使用して、JUL 向けのすべてのログを logback にリダイレクトしていjul-to-slf4jます。しかし、アプローチを使用すると機能します が、次の行を構成ファイルに追加してSLF4JBridgeHandlerよりパフォーマンスの高いアプローチを使用すると、ログが書き込まれるのを確認できません( & ):LevelChangePropagatorlogback.xmllogback-test.xml

<configuration debug="true">
      <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>
      .......
</configuration>       

ログは書き込まれません。

編集:

私の完全な設定ファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
  <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -> %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>c:/dev/logs_test/log_01.log</file>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -> %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="px10" level="TRACE"/>

    <root level="debug">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>   
</configuration>

Glassfish 3.1.1のJSF(Myfaces 2.1.8)アプリで試しました

4

1 に答える 1

4

logback.xml構成でJSF(MyFaces)ロガーのレベルを設定してみましたか?

<configuration debug="false">
  <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>

  <logger name="org.apache.myfaces" level="DEBUG"/>    
</configuration> 

LevelChangePropagatorは、伝播するレベルの変更がない限り、何もしません。アプリケーションの他の部分へのログインが期待どおりに機能するという事実は、それらの部分がログバック用に正しく構成されていることを意味しますが、必ずしもjulではありません。MyFacesの場合、LevelChangePropagatorを介してログバック構成を伝播することによってjulを構成します。

于 2012-08-23T21:06:32.077 に答える