Как получить имя класса запущенного приложения в файле logback.xml и поставить его в условную проверку?

 <?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>

Только при запуске демонстрационного приложения с именем logger ="com.demo" создаются 2 файла с обоими журналами демонстрационного приложения.

Я хочу, чтобы были созданы только журналы демо-приложений, а не журналы csp с logger name="com.administration.csp".

1 ответ

1. Получить имя класса:

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

2. Проверка состояния в logback.xml.

Обратитесь к этому официальному документу - Условная обработка файлов конфигурации.

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

<dependency>
  <groupId>org.codehaus.janino</groupId>
  <artifactId>janino</artifactId>
  <version>2.7.8</version>
</dependency>
Другие вопросы по тегам