Как отключить любой журнал для потока - PullRequest
6 голосов
/ 02 ноября 2010

Я использую org.apache.log4j.Logger для ведения журнала, и я разрабатываю jsp только для целей мониторинга.В этом jsp используются классы, которые пишут журналы (уровень INFO), которые не интересны для этого мониторинга, но раздражают, если я хочу выполнять этот jsp очень часто.

Итак, мой вопрос следующий: есть лиспособ отключить эти журналы INFO только для потока, где работает мой JSP?

Если нет, может быть, этот подход может оплатить счет: есть ли способ сказать, что уровень log4j для одного данного класса является ФАТАЛЬНЫМ всего за несколько миллисекунд?

Ответы [ 2 ]

4 голосов
/ 03 ноября 2010

Нет простого способа сделать это с помощью простой конфигурации log4j.

Однако ваш код может установить собственный фильтр на соответствующий регистратор.См. Ссылку на интерфейс здесь:

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/Filter.html

  1. Создайте объект, который реализует нужный фильтр.
  2. Найдите регистратор, используя LogManager.getLogger (" loggername")
  3. Вставить фильтр.
0 голосов
/ 02 ноября 2010

Идентифицируется ли идентификатор потока?Если это так, разве вы не можете просто использовать grep -v, чтобы удалить раздражающие строки для этого потока и уровня INFO?

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