Java プログラムメモ


トップ

log4j.propeties の書き方

log4j は Jakarta のログ出力フレームワークです。ログの初期設定方法に property ファイルの他 XML でも指定可能です。ここでは、 property ファイルの指定方法について解説します。

共通のプロパティの key

Appendar の種類に係わらず、共通して指定が必要な key 項目。

key 説明,例
log4j.debug true もしくは false Loggingの初期化部分を表示するかどうかの指定
log4j.rootCategory DEBUG, INFO, WARN, ERROR, FATAL のいずれか root カテゴリの出力レベルの設定
log4j.category.カテゴリ名 DEBUG, INFO, WARN, ERROR, FATAL のいずれか カテゴリ名の出力レベルの設定
log4j.appender.カテゴリ名 Appender クラスの指定 org.apache.log4j.ConsoleAppender, org.apache.log4j.RollingFileAppender 等
log4j.appender.カテゴリ名.layout レイアウトを行うクラスの指定 org.apache.log4j.PatternLayout
log4j.appender.カテゴリ名.layout.conversionPattern 出力フォーマットの指定 %m%n

出力フォーマットの指定方法

layout.conversionPattern で指定するフォーマットの書き方。

フォーマット 内容
%c カテゴリー名
%d 日時
%F ファイル名
%l 位置
%L 行番号
%m メッセージ
%M メソッド名
%n 改行
%p 出力レベル
%r アプリケーション開始からの経過時間(ミリ秒)

ConsoleAppender

標準出力に出力する Appendar。共通部分以外は特に指定しません。

log4j.debug=false # org.apache category log4j.category.org.apache=INFO, APACHE log4j.appender.APACHE=org.apache.log4j.ConsoleAppender log4j.appender.APACHE.layout=org.apache.log4j.PatternLayout log4j.appender.APACHE.layout.conversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS} - %m%n

RollingFileAppender

ファイルをロールさせて backup を取る Appendar。
・File ---- 保存するファイル
・MaxFileSize ---- ログファイルの最大サイズ
・MaxBackupIndex ---- ログファイルのバックアップの数

# com.fc2web.himtodo.test log4j.category.com.fc2web.himtodo.test=DEBUG, TEST log4j.appender.TEST=org.apache.log4j.RollingFileAppender log4j.appender.TEST.File=C:/logs/test.log log4j.appender.TEST.MaxFileSize=10MB log4j.appender.TEST.MaxBackupIndex=50 log4j.appender.TEST.layout=org.apache.log4j.PatternLayout log4j.appender.TEST.layout.conversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS} [%p] - %m%n

DailyRollingFileAppender

日単位で backup を取る Appendar。
・File ---- 保存するファイル
・DatePattern ---- backup ファイルの suffix

# com.fc2web.himtodo.test log4j.category.com.fc2web.himtodo.test=DEBUG, TEST log4j.appender.TEST=org.apache.log4j.DailyRollingFileAppender log4j.appender.TEST.File=C:/logs/test.log log4j.appender.TEST.DatePattern='.'yyyy-MM-dd log4j.appender.TEST.layout=org.apache.log4j.PatternLayout log4j.appender.TEST.layout.conversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS} [%p] - %m%n
※以前にログを書いた日付と比較して日付が進んでいたら test.log.yyyy-MM-dd にファイルを退避する。 それから test.log にログを出力するという動作をとる。
VM の再起動等を行うとログがロールしない場合があるので要注意

JDBCAppender

JDBC 経由でデータベースにログを追加する Appendar。テーブルは事前に必要。
・URL ---- JDBC URL
・user ---- データベースのユーザ
・password ---- データベースのパスワード
・driver ---- JDBC Driver
・bufferSize ---- buffer の数だけログが溜まると DB に書き込む。 Default は 1 (都度書く)

# com.fc2web.himtodo.test log4j.category.com.fc2web.himtodo.test=DEBUG, TEST log4j.appender.TEST=org.apache.log4j.jdbc.JDBCAppender log4j.appender.TEST.URL=jdbc:oracle:thin:@127.0.0.1:1521:TEST log4j.appender.TEST.user=test log4j.appender.TEST.password=test log4j.appender.TEST.driver=oracle.jdbc.driver.OracleDriver log4j.appender.TEST.bufferSize=1 log4j.appender.TEST.layout=org.apache.log4j.PatternLayout log4j.appender.TEST.layout.conversionPattern= INSERT INTO LOG_TABLE VALUES ('%d{yyyy-MM-dd HH:mm:ss.SSS}', '%p', '%m' )


SEO [PR] おまとめローン Windows7 冷え性対策 動画 掲示板 レンタルサーバー ライブチャット SEO