Я знаю, что в log4j есть NullAppender
. Но я не могу найти приложение в журнале. Есть ли лучший способ игнорировать все журналы в журнале?Имеет ли logback NullAppender?
ответ
Установка уровня журнала на OFF
будет игнорировать все журналы.
<logger name="..." level="OFF" />
+1. Можете ли вы добавить несколько подробностей к своему ответу, чтобы показать пример. Может быть, что-то вроде: \t '
Просто любопытно, что точка с использованием NullAppender (который я считаю, это Appender, что ничего не делать), а вы можете просто не устанавливать любой Appender к регистратору?
И правильный способ отключения всего журнала - установить уровень журнала в положение ВЫКЛ.
С комментарием @djechlin, я считаю, что также стоит упомянуть фильтры в LogBack. Если вы просто хотите, чтобы отключить все сообщения, идущие через Appender, вы можете просто использовать Threshold Filter:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- Deny everything below OFF, that means deny everything -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>OFF</level>
</filter>
.... other config
</appender>
У меня много проектов pkgs, и они имеют один и тот же конфигурационный файл ROOT. И как-то я хочу игнорировать все журналы для классов только в pkg1. – DeepNightTwo
Затем просто установите уровень журнала pkg1 в положение OFF. Это одна из основных целей использования log4j-подобной библиотеки протоколирования: вы можете контролировать поведение отдельного регистратора (и его дочернего элемента). Если у вас есть нулевой appender, вам все равно нужно настроить log4j, чтобы установить logger pkg1 для использования нулевого приложения и установить его аддитивность на false, для которого это просто то же самое место, где вы устанавливаете уровень журнала для pkg1. –
Многие регистраторы, которым требуется одно приложение, которые должны быть отключены в зависимости от конфигурации (скажем, dev/prod). Чтобы сделать СУШЕЕ изменение, приложение нужно отключить. – djechlin
Вы всегда можете написать одно:
public class NullAppender extends UnsynchronizedAppenderBase<ILoggingEvent> {
@Override
protected void append(ILoggingEvent eventObject) {
//no-op
}
}
Это старый вопрос, но ответы, которые уже даны, на самом деле не отвечают.
Да
Существует «нулевой» Appender, но это не то, что она называется. Я считаю, что автор журнала предпочитает термин «нет-op» при обращении к реализациям, которые существуют для удовлетворения некоторых компиляционных, тестовых или других требований к дизайну, но фактически не выполняют никакой операции. Реализация Appender, который был первоначально просил о том:
ch.qos.logback.core.helpers.NOPAppender
- 1. Logback DBAppender имеет null caller_filename
- 2. Поддерживает ли logback log4j appenders?
- 3. logback: уровень OFF не работает в logback
- 4. Logback: восстанавливаю ли логин для пользовательских макетов?
- 5. hibernate logback sql
- 6. инициализации Logback
- 7. logback с EJB3.1
- 8. sl4j/logback под weblogic
- 9. Logback DBAppender url
- 10. Использование log4j2 и logback
- 11. logback вручную call rollover
- 12. , используя Logback с slf4j
- 13. logback и символические ссылки
- 14. log4j vs logback
- 15. logback error JMS
- 16. Использование logrotate с logback
- 17. Logback: готовые свойства
- 18. logback эквивалент log4j RewriteAppender
- 19. Программно настроить приложение LogBack
- 20. Spring Logback использование профиля
- 21. Запрос о logback
- 22. Run Logback in Debug
- 23. log4j to logback (миграция)
- 24. JOOQ with Logback
- 25. logback Failover tcp appender
- 26. LogBack use MessageFormat
- 27. Change logback output
- 28. Logback DBAppender DDL?
- 29. OverlappingFileLockException в logback
- 30. Logback with servlets
http://stackoverflow.com/questions/5924089/how-to-configure-logback-to-skip- logging-messages-from-org-package-with-all-le или использовать 'EvaluatorFilter' – Ghostman
Этот вопрос явно не дублируется. Фильтрация полностью отличается от возможности указывать нулевой appender. – pdeschen