Logback Do not inherit root appenders

logback

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.

Problem

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.

Original source