我正在使用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,
答案 0 :(得分:0)
它说“没有为名为”outputstream“的appender设置输出流。”您定义了一个appender,但没有定义输出流。我不知道在哪里写信息。
logback手册说你不应该直接使用outputstream appender。从手册中,我也没有找到任何方法将输出流配置到这个appender中。
如果您真的想使用它,我认为唯一的方法是将它添加到您的程序中。