2015-09-23 2 views
0

Я хочу, чтобы настроить мой файл logback.xml на 3 уровнях (ошибка, отладки, info) .Я так:Как настроить logback.xml файл

<configuration> 

    <appender name="FILE-ERROR" class="ch.qos.logback.core.FileAppender"> 
    <file>logs/ApplicationLogs.log</file> 
    <append>true</append> 
    <encoder> 
    <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="FILE-DEBUG" class="ch.qos.logback.core.FileAppender"> 
    <file>logs/ApplicationLogs.log</file> 
    <append>true</append> 
    <encoder> 
    <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="FILE-INFO" class="ch.qos.logback.core.FileAppender"> 
    <file>logs/ApplicationLogs.log</file> 
    <append>true</append> 
    <encoder> 
    <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern> 
    </encoder> 
    </appender> 



    <root level="INFO"> 
    <appender-ref ref="FILE-ERROR" /> 
    </root> 

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

    <root level="ERROR"> 
    <appender-ref ref="FILE-INFO" /> 
    </root> 

</configuration> 

Но я не получил правильный записывает информацию .Do logback.xml в неправильном формате?

+0

Вы не можете объявить корневой журнал с различными уровнями. Вы должны использовать фильтры в приложениях. И вам придется настраивать разные файлы. или они снова войдут в один файл, и вся ваша фильтрация будет бессмысленной. – Fildor

+0

также: вы регистрируетесь в том же файле в каждом приложении ... что не имеет никакого смысла, одно приложение будет делать то же самое .. в основном, вы просто тратите ресурсы – specializt

+0

Посмотрите на это: http: //logback.qos.ch/manual/filters.html. Найдите «LevelFilter» и «ThresholdFilter». Есть также примеры. – Fildor

ответ

1

Если я правильно понял, вы хотите зарегистрировать уровни ERROR, INFO и DEBUG в один файл. Пожалуйста, измените ваш конфигурационный файл так:

<appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
<file>logs/ApplicationLogs.log</file> 
<encoder> 
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern> 
</encoder> 
</appender> 

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

Logback будет регистрировать все события уровней DEBUG и выше. Это означает, что он будет записывать DEBUG, INFO, WARN, ERROR. Вы можете оставить <append>true</append> по умолчанию.

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