2

我正在将所有用于 JUL 的日志重定向到使用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 不会做任何事情,除非有级别更改要传播。登录应用程序的其他部分按预期工作的事实仅意味着这些部分已为 logback 正确配置,但不一定是 jul 对于您希望通过 LevelChangePropagator 传播 logback 配置来配置 jul 的 MyFaces。

于 2012-08-23T21:06:32.077 回答