今更ながら、Log4Jについて復習しておく
うまみ
下記を外部ファイルで設定できる点、性能面が考慮されている点、など。
- 出力先(コンソール、ファイル、Syslogデーモン、データベース、メール、など)
- 表示内容(SimpleLayout、HTMLLayout、XMLLayout、PatternLayout、など)
- 対象内容(TRACE、DEBUG、INFO、WARN、ERROR、FATAL)
- 対象範囲(パッケージ指定、クラス指定)
また、設定が階層的であるため、設定記述量削減の効果もある。
設定ファイル
#対象内容、出力先、表示内容のデフォルト指定。 #ルートロガー:<ログレベル, アペンダーの名称*> 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