В документации log4j2 конфигурация java log4j2 конфигурация по умолчанию следующая:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
Это приведет к регистрации уровней ERROR или FATAL в консоли. Моя регистрация по умолчанию работает таким же образом. Проблема, с которой я сталкиваюсь, заключается в том, что когда я это делаю:
<logger name="com.foo.Bar" level="TRACE"/>
<Root level="ERROR">
<AppenderRef ref="STDOUT">
</Root>
Согласно документации, конфигурация java log4j2, это
исключить весь вывод TRACE из всего, кроме com.foo.Bar.
Моя реализация, с другой стороны, работает так, как если бы
<logger name="com.foo.Bar" level="TRACE"/>
там даже не было. Он по-прежнему будет распечатывать только журналы ошибок.
Вопросы
- Кто-нибудь еще сталкивался с этой проблемой?
- Кто-нибудь может воспроизвести?
- Кто-нибудь знает, как это исправить? Я почти дал бы кому-то доллар. Однако я бы определенно согласился пометить их ответ зеленым.
Вот некоторая информация о моей настройке:
Зависимости Maven
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-beta9</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-beta9</version>
</dependency>
<dependency>
Другое
Я тестирую это в соответствующем классе. Я запускаю тестовый файл JUnit. Я использовал файл src/main .xml и файл src/test .xml. Оба заканчиваются с одинаковыми результатами.
Конечная цель
Моя конечная цель состоит в том, чтобы определенный регистратор отправлял SMTP-запросы. Я почти уверен, что знаю, как это сделать, я просто борюсь с этой небольшой проблемой