Log4j - отфильтровывать логи только для текущего проекта - PullRequest
4 голосов
/ 11 ноября 2010

Имеет log4j.properties файл, который регистрирует больше, чем я ожидаю, в частности, он регистрирует события для библиотек Spring.
И для фильтрации требуются только определенные события проекта.

Это какой-то параметр фильтрации, определяющий, какие классы (проект или пространство имен) должны регистрироваться?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 11 ноября 2010

Да, создайте запись в логгере, которая использует имя вашего пакета.

log4j.logger.com.my.package=INFO

Установите для своего приложения более подробные настройки и установите для корневого приложения более высокий уровень, например, ОШИБКА или ПРЕДУПРЕЖДЕНИЕ.

log4j.rootLogger=ERROR, stdout

См. Этот пост: Log4j |Обновление уровня журнала для Appender

2 голосов
/ 11 ноября 2010

Из руководства log4j :

# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN

Замените com.foo на тот, который хотите игнорировать, и установите для уровня ведения журнала какое-либо высокое значение, например WARN или ERROR.

0 голосов
/ 02 декабря 2016

Я нашел другой способ сделать это.

У меня были проблемы с тем, что когда я использовал уровень DEBUG или выше, библиотеки, которые я использовал в своем проекте, делали это на консоли,Лучше правильно настроить ваш проект, но вы можете просто отключить регистратор для определенного пакета.

В приведенном ниже фрагменте все пакеты, начинающиеся с org. *, были отключены.Сделал работу за меня.Нашел это в руководстве: http://logging.apache.org/log4j/1.2/manual.html

log4j.rootLogger=INFO, stdout

# Disables logger for all org.* packages
log4j.logger.org=OFF 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...