Сделайте кастомный SLF4J Logger - PullRequest
0 голосов
/ 21 октября 2019

У меня есть приложение, которое использует slf4j для ведения журнала. Теперь я хочу добавить функциональность, чтобы всякий раз, когда я регистрирую ошибку, вызывался определенный URL. В настоящее время я добавил метод-обертку на уровне приложения, который отправляет http-запрос, а затем вызывает метод logger. Но в этом случае я пропускаю некоторые выходные данные, а некоторые исключения просто регистрируются без отправки соответствующего запроса. Я пытаюсь сделать свой собственный класс логгера. Моя проблема в том, какие классы я должен расширять (или интерфейс для реализации). Я не могу расширить класс Logger, потому что его конструктор не является общедоступным. Реализация интерфейса Logger кажется сложной, потому что все методы абстрактные. У NOPLogger нет этих проблем, но его методы info (или error ...) являются окончательными и не могут быть расширены, и они ничего не делают, угадывают отсюда и название. Я уже реализовал интерфейс ILoggerFactory для возврата экземпляра моего собственного регистратора.

1 Ответ

1 голос
/ 22 октября 2019

Если вашей библиотекой логгера является Logback, вы можете использовать для этого filters . Просто дайте всему пройти вашему фильтру и, если это ошибка, дополнительно отправьте ваш HTTP-запрос.

...