将控制台输出重定向到自定义LogBack appender

时间:2018-04-15 18:20:29

标签: java logback slf4j appender console-output

今天我已经开始将LogBack与SLF4J一起用于我的项目。我一直在尝试将所有控制台输出(从我自己的项目和其他人)重定向到自定义appender。

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

我研究了以下方法: java runtime.getruntime() getting output from executing a command line program但它并没有成功。

我的目标是以下结构:

  1. 控制台消息由另一个库发送
  2. 抓住消息并进行处理
  3. 我尝试了以下实现:

    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>
    

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

0 个答案:

没有答案