今更ながら、Log4Jについて復習しておく

度忘れるので、Log4Jを復習&メモしておく。

うまみ

下記を外部ファイルで設定できる点、性能面が考慮されている点、など。

  • 出力先(コンソール、ファイル、Syslogデーモン、データベース、メール、など)
  • 表示内容(SimpleLayout、HTMLLayout、XMLLayout、PatternLayout、など)
  • 対象内容(TRACE、DEBUG、INFO、WARN、ERROR、FATAL)
  • 対象範囲(パッケージ指定、クラス指定)

また、設定が階層的であるため、設定記述量削減の効果もある。

設定ファイル

  • 記述対象:クラスパス内に格納されている、 log4j.properties あるいは log4j.xml
  • 読込順序:XML形式の方が先に読み込まれる
  • 記述方法(properties形式):
#対象内容、出力先、表示内容のデフォルト指定。
#ルートロガー:<ログレベル, アペンダーの名称*>
log4j.rootLogger=INFO, a1

#対象内容、出力先、表示内容の、対象範囲毎の指定。
#カテゴリ:<パッケージあるいはクラス, ログレベル, アペンダーの名称*>
log4j.logger.test.TestApp=DEBUG, a1

#出力先、表示内容の定義。
#アペンダー:<名称, アペンダークラス, オプションパラメータ*, レイアウトクラス, レイアウトのオプションパラメータ*>
log4j.appender.a1=org.apache.log4j.ConsoleAppender
log4j.appender.a1.Target=System.out
log4j.appender.a1.layout=org.apache.log4j.PatternLayout
log4j.appender.a1.layout.ConversionPattern=%d %5p %c{1} - %m%n