2017-02-22 12 views
1
<?xml version="1.0" encoding="UTF-8"?> 
<configuration scan="true" scanPeriod="10 seconds"> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <!-- Log message format --> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
    </appender> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <!-- Name of the file where the log messages are written --> 
    <file>${IR_HOME}/ir_logs/ir_csp_management.log</file> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <logger name="com.administration.csp" level="DEBUG" > 
    <appender-ref ref="FILE" /> 
    </logger> 
    <root> 
    <appender-ref ref="STDOUT"/> 
</root> 
    <!-- Setting the root level of logging to INFO --> 
    <root level="OFF"> 
    <appender-ref ref="FILE" /> 
    <appender-ref ref="STDOUT" /> 
    </root> 

    <appender name="FILE1" class="ch.qos.logback.core.FileAppender"> 
    <!-- Name of the file where the log messages are written --> 
    <file>${IR_HOME}/ir_logs/ir_demoLog_management.log</file> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <logger name="com.demo" level="DEBUG"> 
    <appender-ref ref="FILE1" /> 
    </logger> 
    <!-- Setting the root level of logging to INFO --> 
    <root level="info"> 
    <appender-ref ref="FILE" /> 
    <appender-ref ref="FILE1" /> 
    </root> 
</configuration> 

Только при использовании демонстрационного приложения с именем журнала = «com.demo» создано 2 файла с двумя журналами Демо-приложения.Как получить имя класса запущенного приложения в файле logback.xml и поместить его в условную проверку?

Я хочу, чтобы журналы журналов демо были созданы не csp-журналы с именем журнала = "com.administration.csp".

ответ

0

имя 1.Get Класс:

Использование %class или %C в <pattern>

2. Условие проверки в logback.xml.

См. Официальный документ - Conditional processing of configuration files.

Чтобы выполнить условную проверку в конфигурации журнала, janino librar y должен быть добавлен в ваш проект.

<dependency> 
    <groupId>org.codehaus.janino</groupId> 
    <artifactId>janino</artifactId> 
    <version>2.7.8</version> 
</dependency> 
+0

Пытались использовать в IF состоянии, ошибка «Значение атрибута„состояние“, связанного с типом элемента„ если“не должен содержать знак„<“». $ {IR_HOME}/ir_logs/$ {LogFile}% d {HH: mm: ss.SSS} [% thread]% -5level% logger {36} -% msg% n

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