我在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 中的更改会反映在日志记录输出中。
答案 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>