log4j2 для настройки уровня ведения журнала для всех для определенного класса и ограничения остальных классов уровнем «ошибка»

#log4j2

#log4j2

Вопрос:

У меня есть требование записывать все журналы из определенного пакета (com.kat.util) и ограничивать, чтобы остальные классы регистрировали только «ошибку». как я могу этого добиться?

Я попробовал приведенный ниже фрагмент, но он не работает

 <Loggers>
    <Logger name="com.kat.util">
        <AppenderRef ref="writer" level="all"/>
    </Logger>
    <Root level="error">
        <AppenderRef ref="writer"/>
    </Root>
</Loggers>
  

Комментарии:

1. «но это не работает» Как это не работает? Ничего не регистрируется, уровень журнала всегда максимальный «ошибка», уровень журнала любой для всех… ? Как вы создаете регистраторы в коде?

2. Спасибо @Fildor, за ответ.. Мне удалось решить, добавив следующие <Loggers> <Logger name=»com.kat.util» level=»debug»> <AppenderRef ref=»writer»/> </Logger> <Root level=»ошибка»> <AppenderRef ref=»writer»/> </Root> </Loggers>

Ответ №1:

Мне удалось решить, добавив следующее

 <Loggers>
    <Logger name="com.kat.util" level="debug">
        <AppenderRef ref="writer" />
    </Logger>
    <Root level="error">
        <AppenderRef ref="writer"/>
    </Root>
</Loggers>