Регистратор в .jar Java-библиотеке - PullRequest
2 голосов
/ 17 февраля 2011

Как отключить регистратор (вывод на печать) библиотеки Java (jar), используемой в программе Java?

Спасибо

ОБНОВЛЕНИЕ: в рассматриваемой библиотеке используется встроенный класс ведения журнала в Java (java.util.logging.Logger).

Ответы [ 4 ]

1 голос
/ 17 февраля 2011

См. Ответ из , как я могу отключить обработчик консоли по умолчанию при использовании API регистрации Java?

В качестве альтернативы, установите уровень ведения журнала на OFF, как указано в Javadocs для уровня ведения журнала. Цитата:

Кроме того, существует уровень OFF , который можно использовать для отключения ведения журнала, и уровень ALL, который можно использовать для включения регистрации всех сообщений.

1 голос
/ 17 февраля 2011

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

log4j.logger.com.foo=FATAL
0 голосов
/ 17 февраля 2011

Кроме повышения уровня ведения журнала, вы можете указать библиотеке использовать средство регистрации NOP - см. здесь .Регистратор NOP просто по умолчанию не будет делать абсолютно ничего, что было бы именно тем, что вы хотите.

Хорошо после редактирования: если вы можете сказать библиотеке, какой регистратор он должен использовать (и если вы не можете получить доступ к журналуобъект, я не думаю, что какой-либо метод будет работать в любом случае), просто создайте свой собственный NopLogger, то есть расширьте Logger и перезапишите все методы пустым методом,

0 голосов
/ 17 февраля 2011

Если вы используете log4j, самый простой способ - увеличить уровень ведения журнала этой конкретной библиотеки, например, warn или error.

Например, если вы не хотите, чтобы всеApache API, Spring API и Hibernate API, чтобы загромождать ваши файлы журналов, вы можете сделать что-то вроде этого: -

<logger name="org.apache">
    <level value="warn" />
</logger>

<logger name="org.springframework">
    <level value="warn" />
</logger>

<logger name="org.hibernate">
    <level value="warn" />
</logger>

Таким образом, все debug и info из этих библиотек не будут показанына все.

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