Why is my Logback logger not getting logged in the root logger?

51 Views Asked by At

OK, I only have one appender configured:

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

then a root level:

<root level="info">
    <appender-ref ref="STDOUT"/>
</root>

if I define a logger like this:

<logger name="com.mypackage.etc" level="trace" additivity="true">

it doesn't work, nothing comes up in the log unless I change the root level.

If I do this it works:

<logger name="com.mypackage.etc" level="trace" additivity="false">
    <appender-ref ref="STDOUT"/>
</logger>

I don't understand why I have to manually specify the appender-ref everywhere, I just want the trace level to be logged in the same appender as defined in root.

What am I doing wrong?

0

There are 0 best solutions below