[Java]:Log4j カテゴリーの設定について

カテゴリには、rootカテゴリと、ユーザーが定義するカテゴリ名の2種類あります。

ユーザーが定義するカテゴリ名は、通常はパッケージ名やクラス名でドットで区切られた階層的 な名前付けを行います。
例えば、カテゴリ名”com.abc”は、カテゴリ名”com.abc.zzz”に対して親となり、全てのカテゴリの親はrootカテゴリになります。

それぞれのカテゴリは、ログレベルやアペンダを割り当てられ、親カテゴリのログレベルやアペンダを子カテゴリは継承できます。

●log4j.propertiesの場合

log4j.rootCategory= ログレベル,アペンダ名1,アペンダ名2,・・・
log4j.category.カテゴリ名 = ログレベル,アペンダ名1,アペンダ名2,・・・

ルートカテゴリとカテゴリ「sample.pg.SampleApp」の設定例

log4j.rootCategory=INFO, A1, A2
log4j.category.sample.pg.SampleApp=DEBUG, A1, A2

rootカテゴリの設定は、システム全体で適用されます
カテゴリ定義を、「log4j.category.sample.pg」と定義すれば、「sample.pg.SampleApp」に対しても適用されます。

ログ出力時の カテゴリ名の指定は、下記メソッドの引数にて指定されます。

commons-logging :  Log log = LogFactory.getLog(カテゴリ名);

log4j  :     Logger log = Logger.getLogger( カテゴリ名 );

●log4j.xmlの場合

<root>タグ内の<priority>タグのvalue属性で、ログレベルを指定する。
<root>タグ内の<appender-ref>タグのref属性で、アペンダ名を指定する。
<category>タグのname属性で、カテゴリ名を指定する。
<category>タグ内の<priority>タグのvalue属性で、ログレベルを指定する。
<category>タグ内の<appender-ref>タグのref属性で、アペンダ名を指定する。

ルートカテゴリとカテゴリ「sample.pg」の設定例

<category name=”sample.pg.Logging”>
<priority value=”debug” />
<appender-ref ref=”A3″ />
</category><root>
<priority value =”info” />
<appender-ref ref=”A1″ />
<appender-ref ref=”A2″ />
</root>
スポンサーリンク
google 6948682462
google 6948682462

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
google 6948682462