2015-12-24 4 views
1

У меня есть Logger, который прослушивает распечатки журнала пакета, и я хочу, чтобы он игнорировал один класс из того же пакета. Является ли это возможным?Как исключить один класс из java.util.logging.Logger

+0

Это логгер log4j? –

+0

нет Класс регистратора – itzikos

+0

http://stackoverflow.com/questions/960099/how-to-set-up-java-logging-using-a-properties-file-java-util-logging – Betlista

ответ

2

Вам необходимо создать файл конфигурации ведения журнала (например, logging.properties). Это свойства файла, который должен содержать следующие строки:

com.package.level = WARN 
com.package.Class.level = ERROR 

Конечно, вы должны заменить «пакет» и «класс» на те, которые соответствуют вашим требованиям.

Тогда вам придется запустить приложение следующим образом:

java -Djava.util.logging.config.file=C:\logging.properties ... 

Для полного конфигурационного файла регистрации, check this example.

+0

вы не можете объяснить? – itzikos

+0

, с какими системами ведения журнала вы используете? –

+0

java.util.logging.Logger – itzikos

0

Если я правильно помню, вы можете исключить подпакет следующим образом. Например, скажем, вы хотите заблокировать com.foo.bar

1) Определите свойства ведения журнала с использованием выбранных вами механизмов. 2) Определить обработчик на уровне com.foo.bar, и путь к чему-то вы не заботитесь о (например, ConsoleHandler) 3) Установите useParentHandlers к ложному

Из-за этого, любая регистрация вызовов в com.foo.bar и ниже перейдут к обработчику набора и не будут распространяться до более высоких уровней, поэтому корневой регистратор не будет вызываться.

Смежные вопросы