2017-09-05 9 views
1

ログをコンソールにもファイルにも表示しようとしていますが、特定のクラスから表示される特定のログのみが必要です。以下は、ちょうどあなたの「ある特定のクラス」のためのloggerを宣言してからFILEアペンダとそのロガーを関連付ける私のlogback.xmlログを使用して1つのクラスのログのみを表示する

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE configuration> 

<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern> 
     </encoder> 
    </appender> 

    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file> test.txt </file> 
    <append>false</append> 
    <encoder> 
     <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern> 
    </encoder> 
    </appender> 

    <root level="info"> 
    <appender-ref ref="FILE" /> 
    <appender-ref ref="STDOUT" /> 
    </root> 

</configuration> 

答えて

2

です。例えば

<appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>test.log</file> 
    <encoder> 
     <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern> 
    </encoder> 
</appender> 

<logger name="your.particular.Class"> 
    <appender-ref ref="FILE" /> 
</logger> 

<root level="info"> 
    <appender-ref ref="STDOUT" /> 
</root> 

このyour.particular.Classによって放出されたすべてのログイベントのみFILEアペンダに向けられ、他のすべてのログがSTDOUTアペンダにのみを向けられるであることを保証します。

関連する問題