Ответ 1
В Log4j вы можете указать уровень ведения журнала для указанного пакета, класса или регистратора, идентифицированного строкой. Просто напишите это в файле log4j.properties:
log4j.logger.<your package> = DEBUG|INFO|OFF|WARN...
Я использую apache.commons.logging, пока я хотел использовать реализацию SimpleLog, но при изменении уровня выходят регистраторы из библиотек. Я хочу, чтобы он отключил его.
Есть ли простой способ изменить уровень журнала для всего пакета (может ли log4j сделать это)?
Я попытался установить
org.apache.commons.logging.simplelog.log.foo = фатальным
в файлах свойств simplelog для отключения (установка на фатальный - это нормально) foo logger, но он не работает. (foo - имя регистратора, которое появляется на выходе: [INFO] foo - Message).
В Log4j вы можете указать уровень ведения журнала для указанного пакета, класса или регистратора, идентифицированного строкой. Просто напишите это в файле log4j.properties:
log4j.logger.<your package> = DEBUG|INFO|OFF|WARN...
Вы должны использовать:
log4j.logger.foo = OFF
Обратите внимание, что "foo" не обязательно должен быть пакетом или классом, но является произвольной строкой. Мы, например, имеют регистратор с именем "SQL", который вызывается из многих классов.
Если вы используете Spring Boot, вы можете установить OFF
в файле application.properties. Пример:
logging.level.org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer=OFF
Использование SimpleLog из Commons Logging требует наличия двух файлов конфигурации, если вы не используете некоторые системные свойства. Файлы: commons-logging.properties и simplelog.properties. Свойства уровня журнала, которые вы указали, должны быть помещены в simplelog.properties, например:
org.apache.commons.logging.simplelog.log.foo=warn
где "foo" - имя регистратора. Как правило, это имя пакета или пакета и класса. В следующем примере все под пакетом com.stackoverflow.utils установлено в info, тогда как com.stackoverflow.servlet.Dispatcher специально настроен на warn:
org.apache.commons.logging.simplelog.log.com.stackoverflow.utils=info
org.apache.commons.logging.simplelog.log.com.stackoverflow.servlet.Dispatcher=warn
Файл commons -logging.properties должен содержать:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog