Can I disable an appender in logback?

2019-01-24 08:10发布

问题:

Can I disable an appender in logback on the xml config? I have my configuration and I want to put two appenders, one for database and other for text logs, but only one must be activated. thanks!

回答1:

Not sure why you want to deactivate an appender, what are you trying to achieve by disabling.

There are some ways to achieve it

  1. Add the appender in logback.xml and keep it commented. When you like to enable it then uncomment the appender and reload logback configuration (http://logback.qos.ch/manual/configuration.html#autoScan)
  2. Add a logger like the one given below and use appropriate logger for logging
    <configuration>
      <appender name="stdoutappender" />
      <appender name="dbappender" />
      <logger name="stdoutlogger" level="DEBUG">
        <appender-ref ref="stdoutappender" />
      </logger>

      <logger name="dblogger" level="OFF">
        <appender-ref ref="dbappender" />
      </logger>
    </configuration>   

In this case also you have to reload the configuration when you modify logback configuration (logback.xml)

  1. If you know the conditions (to activate/deactivate) beforehand then use if else block to enable/disable

On top of above 3 options you can create logback configurations progamatically