今天我已经开始在我的项目中结合使用 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>
但是这种方法不起作用,希望有人可以帮助我。