2013-10-08 3 views
4

В log4j2 документации log4j2 java configuration конфигурации по умолчанию это:Как использовать разные уровни ведения журналов для разных классов с помощью 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> 

Согласно документации, log4j2 java configuration, это

устранить все Трассировочное от всего, кроме 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. Оба заканчиваются теми же результатами.

End Цель

Моя конечная цель должна иметь конкретный регистратор отправки SMTP-запросов. Я уверен, что знаю, как это сделать, я просто борюсь с этой небольшой проблемой.

ответ

3

Я не получил регистратор, используя ту же строку. После того, как я это сделал, он работал:

enter image description here enter image description here

После того, как я сделал имена же, моя программа работала документации, указанной.

+0

Что такое полное имя этого класса LogManager? и какую банку вы здесь использовали? – manoj