Можно ли изменить уровень журнала пакета в log4j? - PullRequest
4 голосов
/ 14 января 2010

В настоящее время у меня есть библиотека, которая записывает определенную информацию как ОШИБКА. Если я изменю свои настройки log4j следующим образом:

log4j.logger.com.company.theirpackage.foo=OFF

, что полностью отключит ведение журнала библиотеки. Тем не менее, мне бы очень хотелось, чтобы информация по-прежнему отображалась, но регистрировалась на уровне WARN или INFO. Другими словами, когда этот конкретный код вызывает log.error(), я хочу, чтобы он выглядел так, как будто они вместо этого вызвали log.warn() или log.info().

Есть ли способ сделать это с log4j?

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Не напрямую, но вы могли бы написать собственный appender, который перехватывает вызовы, проверяет уровни, а затем печатает их на любом уровне, который вы хотите. Или вы могли бы заниматься аспектно-ориентированным программированием и перехватывать / изменять их вызовы.

Но почему вы хотите изменить уровень, на котором они регистрируются?

1 голос
/ 14 января 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...