Как да използвам различни нива на регистриране за различни класове с log4j2?

В документацията за log4j2 log4j2 java конфигурация конфигурацията по подразбиране е следната:

<?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 конфигурация, това ще

елиминирайте целия изход на 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 заявки. Почти съм сигурен, че знам как да направя това, просто се боря с този малък проблем


person j will    schedule 08.10.2013    source източник


Отговори (1)


Не получих регистратора, използващ същия низ. След като направих това, проработи:

въведете описание на изображението туквъведете описание на изображението тук

След като направих имената същите, програмата ми заработи според посочената документация.

person j will    schedule 08.10.2013
comment
Кое е пълното име на този LogManager клас? и кой буркан сте използвали тук? - person ms_27; 23.12.2016