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

0
Hessam 21 Окт 2019 в 14:50

1 ответ

Лучший ответ

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

1
doublep 22 Окт 2019 в 14:56