2012-03-22 7 views
0

Loggingフレームワークv1.0.1を使用してログを作成しています。私はログメッセージをJavaの出力ストリームに追加する方法を知りたいと思います。Logback:ログメッセージを出力ストリームアペンダに添付します

私は、ログメッセージを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:19399 | ch.qos.logback.core.OutputStreamAppender [出力ストリーム]で-ERROR - "のOutputStream" という名前のアペンダなし
出力ストリームセット。

15:07:19.414 [メイン] INFO SplunkSearch.SplunkLogger - ラップ=真、偽のsetValue =、

15:07:19.430 [メイン] DEBUGのSplunkSearch.SplunkLogger - ラップ=真、偽のsetValue =、

答えて

0

「出力ストリーム」という名前のアペンダーの出力ストリームは設定されていません。あなたはアペンダーを定義しましたが、そこにはストリームを出力しませんでした。私はメッセージを書く場所を知らない。

ログバックマニュアルでは、出力ストリームアペンダーを直接使用しないでください。また、マニュアルから、このアペンダーに出力ストリームを設定する方法も見つけられませんでした。

本当に使いたいのであれば、あなたのプログラムにそれを追加するしかないと思います。

関連する問題