1

今天我已经开始在我的项目中结合使用 LogBack 和 SLF4J。我一直在尝试将所有控制台输出(来自我自己的项目和其他项目)重定向到自定义附加程序。

最终目标是将所有输出重定向到Discord聊天频道。

我研究了以下方法: java runtime.getruntime() 从执行命令行程序中获取输出,但没有成功。

我的目标是以下结构:

  1. 控制台消息由另一个库发送
  2. 捕获消息并处理它

我尝试了以下实现:

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>

但是这种方法不起作用,希望有人可以帮助我。

4

0 回答 0