Я впервые слышу о маркерах при чтении:
Проверяю доступные методы для объекта Logger :
- http://www.slf4j.org/api/org/slf4j/Logger.html
- http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html
и нашел интерфейсы:
- http://www.slf4j.org/api/org/slf4j/Marker.html
- http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Marker.html
Более подробную информацию я получаю из:
но все же в замешательстве ... Обратите внимание, что я спрашиваю, почему , а не как их использовать, так что это не дубликат:
ОБНОВЛЕНИЕ Похоже, что когда вы используете маркеры, вам также необходимо написать собственный код Java, вместо того, чтобы выполнять настройку в файлах XML или .property ...
ОБНОВЛЕНИЕ 2 из http://logback.qos.ch/manual/appenders.html#OnMarkerEvaluator
Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN");
logger.error(notifyAdmin,
"This is a serious an error requiring the admin's attention",
new Exception("Just testing"));
grep
текстовые журналы.Ответы:
Это переработанная версия моего ответа на вопрос « Лучшие практики использования маркеров в SLF4J / Logback ».
Маркеры можно использовать для раскрашивания или маркировки одного отчета журнала. Что вы будете делать с этими цветами, то есть маркеры, полностью зависит от вас. Однако для использования маркеров обычно характерны два шаблона.
Запуск : Некоторому приложению может быть дано указание совершить действие при наличии определенного маркера. Например,
SMTPAppender
можно настроить отправку электронного письма всякий раз, когда событие записи в журнал отмеченоNOTIFY_ADMIN
маркером, независимо от уровня журнала. См маркер на основе запуска в документации Logback. Вы также можете комбинировать уровни журнала и маркеры для запуска.Фильтрация : маркеры очень полезны для выделения определенных ценных отчетов журнала. Например, вы можете раскрасить / пометить все журналы, связанные с сохранением (в различных и нескольких файлах классов), цветом «DB». Затем вы можете отфильтровать "DB": отключить ведение журнала, за исключением операторов журнала, отмеченных DB. См. Главу о фильтрах в документации по логбэку для получения дополнительной информации (поиск MarkerFilter). Обратите внимание, что фильтрацию по маркерам можно выполнять не только с помощью логбэка, но и с помощью инструментов анализа логов.
До появления маркеров для достижения аналогичного поведения у вас была возможность 1) использовать настраиваемые уровни 2) использовать измененные имена регистраторов. SLF4J API в настоящее время не поддерживает настраиваемые уровни. Что касается варианта 2, то можно использовать суффикс (или префикс) в именах регистраторов, если необходимо изменить один или два регистратора. Такой подход становится непрактичным, как только 3 или более регистратора необходимо «подклассифицировать», поскольку связанные файлы конфигурации становятся неуправляемыми.
Даже если один маркер уже может быть очень полезным, следующая версия SLF4J, то есть версия 2.0, позволит использовать несколько маркеров для каждого оператора журнала.
источник