Logback:将日志消息附加到outputstream appender

时间:2012-03-22 08:08:17

标签: logback appender

我正在使用Logback framework v1.0.1来进行日志记录。我想知道如何将日志消息附加到java中的输出流。

我想将日志消息格式化为key = value对最后,我希望将格式化日志消息作为输出流。我检索了记录器实例并在调试级别记录消息。

    ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger)      LoggerFactory.getLogger("SplunkSearch.SplunkLogger");
    logger.info( "wrap = true, setValue = false,");
    logger.debug( "wrap = true, setValue = false,");


The logback.xml configuration file is as follows : 

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">

<timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"         timeReference="contextBirth"/>

 <contextName>splunksearchcontext</contextName>

 <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
  <Target>System.out</Target>
  <encoder>
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  </encoder>
  </appender>

  <appender name= "outputstream" class="ch.qos.logback.core.OutputStreamAppender">
  <encoder>
  <pattern></pattern>
 </encoder>
 </appender>

 <root level="debug">
 <appender-ref ref="stdout"/>
 <appender-ref ref="outputstream" />
  </root>
 </configuration>

我跑步时输出如下。

我在状态消息中看到这一行有点错误。没有设置输出流。

15:07:19,399 | -ERROR in ch.qos.logback.core.OutputStreamAppender [outputstream] - No
为名为“outputstream”的appender设置的输出流。

15:07:19.414 [main] INFO SplunkSearch.SplunkLogger - wrap = true,setValue = false,

15:07:19.430 [main] DEBUG SplunkSearch.SplunkLogger - wrap = true,setValue = false,

1 个答案:

答案 0 :(得分:0)

它说“没有为名为”outputstream“的appender设置输出流。”您定义了一个appender,但没有定义输出流。我不知道在哪里写信息。

logback手册说你不应该直接使用outputstream appender。从手册中,我也没有找到任何方法将输出流配置到这个appender中。

如果您真的想使用它,我认为唯一的方法是将它添加到您的程序中。

相关问题