Log4Jの構成
Log4Jは、カテゴリ(Category)・アペンダ(Appender)・レイアウト(Layout)という3つの要素で構成する。
カテゴリでは出力するログのレベル、debug・info・warnなどを指定する。
アペンダはログの出力先(コンソール・ログファイルなど)を指定する。
「FileAppender」、「ConsoleAppender」、「NTEventLogAppender」、「SyslogAppender」などがある。
レイアウトはログ出力フォーマットを指定する。
「SimpleLayout」、「PatternLayout」、「HTMLLayout」、「TTCCLayout」等の出力方式を指定する。
設定ファイルの記述
設定はプロパティファイルに記述する。ファイル名はlog4j.propertiesとする。他に、実行時の引数やXMLでの指定も可能な模様。設定ファイルはパスが通ってれば良いみたい。
Eclipseで使用したときは、ソースを置いてるルートディレクトリに置いて動作した。
1:log4j.rootCategory=DEBUG, A1
2:log4j.appender.A1=org.apache.log4j.ConsoleAppender
3:log4j.appender.A1.Target = System.out
4:log4j.appender.A1.layout=org.apache.log4j.PatternLayout
5:log4j.appender.A1.layout.ConversionPattern=%d : %m %n
1行目で、出力するログのレベル、使用するアペンダの種類を指定する。
2行目以降は1行目で指定したアペンダについての設定である。
2行目は使用するアダプタの種類をしていする。この場合はコンソールを指定している。
3行目はコンソールの出力ターゲットを指定している、ここではSystem.outとしている。他にSystem.errなども可能
4行目はレイアウトを指定している。この場合はPatternLayoutである。
5行目は出力する時のフォーマットを指定している。PatternLayoutを使用するのでPatternLayoutでの記述となっている。この例では日付とメッセージだけになる。
commons-loggingを使用した場合も設定は同じだった。(log4-jを優先で使うため)commons-logging.propertiesは記述しなかった。
注意点. commons-loggingではtraceレベルがあるが、Log4Jにはそれがない為、traceレベルはdebugとして出力する。
参考
http://www.ingrid.org/jajakarta/log4j/jakarta-log4j-1.1.3/docs-ja/documentation.html
他にも検索するといっぱい。。(笑