2014-09-19 3 views

ответ

5

Создать 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> 

Всех org.apache журналы класс (который использует SLF4J) будет направлен на System.err

+0

Я делаю это правильно ... но это не было нахождение правильного logback.xml –

4

Использовать ConsoleAppender с атрибутом target, установленного в 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> 
+0

Есть опечатка? Если строка appender-ref ближе к концу имеет STDERR вместо STDOUT? –

+0

Спасибо, хорошо поймать. Мой ответ по существу совпадает с текущим принятым ответом, за исключением внешних тегов . –

Смежные вопросы