「ロギングクラスのサンプル」

 自分用覚え書き。
 Commons LoggingライブラリとLog4jライブラリを使用して、ログを出力する。

必要なライブラリ

設定ファイルサンプル

  1. デフォルトのログレベルはINFO
  2. パッケージsampleの場合、ログレベルはDEBUG。ただしファイルへの出力はINFO以上が対象
  3. ログファイルは日ごとにローテートする
  4. ログファイルの出力先は、c:/temp/sample.log
log4j.rootLogger=INFO, C
log4j.additivity.sample=false

log4j.category.sample=DEBUG, C, F
log4j.category.sample.hoge=INFO

#コンソール出力
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.out
log4j.appender.C.ImmediateFlush=true
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%-5p %d %l: %m%n

#ファイル出力
log4j.appender.F=org.apache.log4j.DailyRollingFileAppender
log4j.appender.F.Append=true
log4j.appender.F.File = c:/temp/sample.log
log4j.appender.F.layout=org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern=%-5p %d %l: %m%n
log4j.appender.F.DatePattern='.'yyyy-MM-dd
log4j.appender.F.Threshold=INFO

Javaサンプル

package sample;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class LoggingSample {

    private static final Log LOG = LogFactory.getLog(LoggingSample.class);

    public static void main(String[] args) {
        LOG.trace("trace");
        LOG.debug("debug");
        LOG.info("info");
        LOG.warn("warn");
        LOG.error("error");
        LOG.fatal("fatal");
    }
}