忍者ブログ

SLF4J、logbackで複数のLoggerを使い、別々のファイルに出力する

2017年09月27日 23時45分21秒
SLF4J、logbackを使用し、別々のファイルに出力するLoggerを使用する必要があったので調査。
簡単に実現できました。

・logback.xmlに異なるファイルを定義したappenderを定義する
・Loggerを使いたいクラスで、使いたい方のLoggerを宣言するのみ。両方を同時に宣言して各処理で使い分けてもよし。

【logback.xml】※一部のみ抜粋
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <encoder>
            <pattern>%msg%n</pattern> ※パターンは好きなように定義
        </encoder>
        <file>/log/test.log</file>
    </appender>

    <appender name="FILE_2" class="ch.qos.logback.core.FileAppender">
        <encoder>
            <pattern>%msg%n</pattern>
        </encoder>
        <file>/log/test2.log</file>
    </appender>

    <logger name="jp.test" level="DEBUG">
        <appender-ref ref="FILE" />
    </logger>

    <logger name="TestLog" level="DEBUG">
        <appender-ref ref="FILE_2" />
    </logger>

【Java】
// test.logに出力する為のLogger
private static Logger logger = LoggerFactory.getLogger(Test.class);

// test2.logに出力する為のLogger
private static Logger logger2 = LoggerFactory.getLogger("TestLog");
PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字