log4jのカテゴリを正しく理解する

カテゴリは、log4jの設定の設定対象をグルーピング・階層化するための概念である。

カテゴリの階層は「.」区切りで表現し、上位カテゴリの設定は下位カテゴリに継承される。
「.」区切りのカテゴリ名はJavaのパッケージ階層の記法と馴染みが良く、多くの場合、そのクラスで使用するLoggerのカテゴリにはそのクラス自信の完全修飾名のカテゴリが指定される。

それぞれのクラスで使用するロガーに自クラスのパッケージをカテゴリとして指定(Logger.getLogger(this.getClass());)した場合、以下のようにカテゴリごとに設定した際は、各パッケージ内のクラスに適用される設定は下記の対応となる。
①rootで設定
②jp.co.ko.onlineで設定
euで設定

  jp ①
  +-co ①
   +-ko ①
    +-online ②
    +-batch ①
  eu ③
  +-co ③
   +-ko ③
    +-online ③
    +-batch ③

もちろん、Loggerを生成する際には任意のカテゴリを指定できるため、「今回の開発では"FW"、"APP"の2つのカテゴリしか使わない」といった方針にすることも可能である。