如何配置logback conf以将所有消息发送到stderr?

Ala*_*sen 4 java logback slf4j

最近添加了一些println输出到我的程序...现在不希望与它们合并的logback INFO消息.如何将所有消息发送到stderr?

Elb*_*bek 8

创建appender并为其附加所有日志:

<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
    <target>System.err</target>
    <encoder>
        <pattern>%date [%thread] - 5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>

<logger name="org.apache" level="INFO ">
    <appender-ref ref="STDERR"/>
</logger>
Run Code Online (Sandbox Code Playgroud)

所有org.apache类日志(使用slf4j)将被定向到System.err


Ric*_*ish 6

使用ConsoleAppendertarget设置属性System.err.有关详细信息,请参阅http://logback.qos.ch/manual/appenders.html#ConsoleAppender.

你的logback.xml中的这样的东西应该工作:

<configuration>
  <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <target>System.err</target>
    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
    </encoder>
  </appender>

  <root level="DEBUG">
    <appender-ref ref="STDERR" />
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)