Question

I have a logback config where I have one logger that should not inherit the syslog appender that has been added to the root logger. I can't find anywhere in the documentation how to do this.

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

    <logger name="jsonlogger" level="INFO">
        <appender-ref ref="SYSLOGJSON" />
    </logger>

In this example, I do not want jsonlogger to inherit the syslog appender-ref from root.

Was it helpful?

Solution

Turn off additivity (default true) for your logger:

<logger name="jsonlogger" level="INFO" additivity="false">
    <appender-ref ref="SYSLOGJSON" />
</logger>

As the logback-manual describes: http://logback.qos.ch/manual/configuration.html#overrridingCumulativity

If you just want it to not have the SYSLOG appender, but FILE and STDOUT, you'll have to register those at the logger itself as well.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top