Pregunta

I'm running a Java servlet inside Tomcat 7.0.52.

This is my logback.xml file

<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>

Unfortunately I'm nowhere seeing Logback's debug output. Neither in catalina.out, nor in my-log.log or on the console. Where is it?

Just to add: Changes in logback.xml are reflected in the logging output.

¿Fue útil?

Solución

In your logback configuration, you define a file appender. What you do not do is define a ConsoleAppender, which will log to stdout/stderr.

catalina.out being the redirection of stdout/stderr used by the Tomcat init script, adding this to your configuration should solve your problem.

Otros consejos

<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>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top