Logback的调试输出未显示

时间:2014-03-15 11:28:27

标签: java debugging tomcat logging logback

我在Tomcat 7.0.52内运行Java servlet。

这是我的 logback.xml 文件

<configuration debug="true">

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

    <root level="DEBUG">
        <appender-ref ref="FILE" />
    </root>

</configuration>

不幸的是,我无法看到Logback的调试输出。既不在catalina.out,也不在 my-log.log 或控制台上。它在哪里?

添加: logback.xml 中的更改会反映在日志记录输出中。

2 个答案:

答案 0 :(得分:1)

在您的回溯配置中,您可以定义文件追加器。您所做的是定义ConsoleAppender,它将登录到stdout / stderr。

catalina.out是Tomcat init脚本使用的stdout / stderr的重定向,将其添加到您的配置可以解决您的问题。

答案 1 :(得分:1)

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <target>System.out</target>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>debug</level>
    </filter>
    <encoder>
        <pattern><![CDATA[
            %-20(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level %logger{80}[%L] - %msg%n
      ]]></pattern>
    </encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>/home/my-user/my-log.log</file>
    <append>true</append>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>
<root level="DEBUG">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="FILE" />
</root>