|
カテゴリの設定
カテゴリには、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>
|
|