Получение предыдущих n строк из log4j, указывающих c в один класс регистратора - PullRequest
1 голос
/ 18 февраля 2020

Мы внедрили небольшую подпрограмму, которая в случае указанных c ошибок мы получаем по электронной почте, чтобы сообщить нам, что что-то произошло. Довольно просто включить некоторую информацию об ошибке в электронное письмо, но мы хотели бы включить то, что было предыдущей записанной информацией, когда это произошло.

Сначала я попытался извлечь последние строки из файла, в котором сохранен log4j , Проблема в том, что многие другие потоки работают одновременно, и я никогда не получаю соответствующую информацию. Либо буфер не успевает записывать логи, либо что-то еще быстрее записывает что-то еще.

Возможно ли добавить аппендер к указанному c log4j во время выполнения, чтобы иметь возможность получать только эти конкретные c журналы и только при необходимости?

Я хотел бы иметь возможность вести журнал с обычными командами log.error, log.warn ... но я хочу иметь возможность получить журнал содержание в ситуации «попробуй / поймай». что-то вроде буфера appender только для памяти? Подойдет ли это всем детским регистраторам?

Class 1 - call Class 2
Class 2 - call Class 3
Class 3 try/catch an error
log.getLogs returns all logged informations from Class 1..3

Или я сплю здесь?

Мы используем Jira и в журналах в файлах, поэтому я думаю, что ни один запрос не будет работать.

...