【问题标题】:How to write logback StatusManager data to log file?如何将 logback StatusManager 数据写入日志文件?
【发布时间】:2020-07-15 16:32:57
【问题描述】:

根据logback website,我们可以将StatusManager数据写入StatusListener。 主要有 2 个状态监听器用于编写状态管理器消息。

  1. OnConsoleStatusListener - 在控制台上打印消息,即在 System.out 上
  2. OnErrorConsoleStatusListener - 在控制台上打印消息,即在 System.error 上

但我需要将那些StatusManager 消息写入错误日志。有没有办法做到这一点?

【问题讨论】:

    标签: java logging logback logstash-logback-encoder


    【解决方案1】:

    由于 logback 没有提供 StatusListener 实现来将状态消息发送到文件,因此您需要提供自己的 ch.qos.logback.core.status.StatusListener 实现。 为简单起见,扩展 ch.qos.logback.core.status.OnPrintStreamStatusListenerBase 并覆盖其 getPrintStream() 方法以向日志文件提供 PrintStream

    然后配置 logback 以使用您的状态监听器:

    <statusListener class="yourpackage.YourStatusListener" /> 
    

    或者,您可以使用 logback 提供的 OnConsoleStatusListener 并将程序输出重定向到文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-19
      • 2011-11-29
      • 1970-01-01
      • 2013-11-26
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多