Перенаправить вывод консоли на пользовательский приложение LogBack
Сегодня я начал использовать LogBack в сочетании с SLF4J для моего проекта. Я пытался перенаправить весь вывод консоли (из моего собственного проекта и других) на пользовательский аппендер.
Конечная цель - перенаправить весь вывод в канал чата Discord.
Я рассмотрел следующий подход: java runtime.getruntime (), получающий вывод от выполнения программы командной строки, но он не был успешным.
Я стремлюсь к следующей структуре:
- Консольное сообщение отправлено другой библиотекой
- Поймай сообщение и обработай его
Я попробовал следующую реализацию:
public class DiscordAppender extends AppenderBase<ILoggingEvent> {
@Override
protected void append(ILoggingEvent eventObject) {
SomeDiscordClient.sendMessage(specificChannel, eventObject.getFormattedMessage());
}
}
Со следующим файлом logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="DISCORD" class="package.DiscordAppender"/>
<root level="TRACE">
<appender-ref ref="DISCORD"/>
</root>
</configuration>
Но этот подход не работает, надеюсь, кто-то может мне помочь.