Logback: выполнить настраиваемое действие в журнале уровня ERROR - PullRequest
0 голосов
/ 04 августа 2020

При повторном входе я ищу способ выполнять настраиваемое действие каждый раз, когда возникает определенное количество журналов ERROR. Раньше с log4j мне удавалось сделать это, создав подкласс некоторого базового класса регистратора или реализовав какой-то интерфейс регистратора (я точно не помню). Мне не удалось найти такую ​​же функциональность при поиске logback.

Кто-нибудь знает способ (у меня есть приложение для весенней загрузки) сделать это? В основном я хочу захватить строковое сообщение всех журналов ERROR, выполнить поиск по указанному c тексту, а затем подсчитать их, и когда будет достигнут порог, publi sh custom Prometheus metri c.

Просто ищу то, что можно подклассифицировать / реализовать здесь, а не полное решение.

Спасибо

1 Ответ

0 голосов
/ 04 августа 2020

Вероятно, много опций в Logback, но расширение приложения работает нормально. Что-то вроде ch.qos.logback.classic.AsyncAppender, которое реализует ch.qos.logback.core.spi.AppenderAttachable.

Я сделал это, не собираюсь публиковать все решение, так как вы этого не хотите, но вы можете посмотреть AsyncAppender, я в основном сделал то же самое:

class MyOwnAppender extends UnsynchronizedAppenderBase<ILoggingEvent> implements AppenderAttachable<ILoggingEvent>

...