log4j 1.2.14のPatternLayout

感想おまちしてます!

PatternLayoutを利用すると出力する文字をC言語のprintf関数のように指定することができる。例えば

<param name="ConversionPattern" value="%C{1}" />

と指定すると

TestClass

といういうようにクラス名が表示されるわけだ。

スポンサーリンク

変換文字

変換文字 内容 メモ
c カテゴリー。%c{1}とすることで現在のカテゴリのみを表示することができる
C クラス名。%C{1}とすることでクラス名だけを表示することができる。これを指定しないとパッケージ全てが表示される おもーい
d 日付を表示する。%d{HH:mm:ss,SSS}などSimpleDateFormatの時刻パターン文字列と同様な文法が指定できる
F ファイル名。ログ出力が発生したファイル名を指定できる。
l 位置情報。%Lと同じ? おもーい
L 行番号 おもーい
m 引数であるメッセージを表示する
M メソッド名 おもーい
n このプラットフォームの改行コード。行の最後に書くべし
p Debug、Warnなどのログレベル
r ログが出力されるまでの時間
t スレッド名。mainとか
x スレッド名。ネスト化診断コンテキスト
% %%でパーセントが出力できる

フォーマット 

%20c カテゴリー名が20文字に満たなければ左側は空白が詰められます。
%-20c カテゴリー名が20文字に満たなければ、右側に空白がパディングされる
%.30c カテゴリー名が30文字より長ければ、先頭から削除される
%20.30c カテゴリー名が20文字より短ければ左に空白がパディングされる。しかし、カテゴリー名が30文字より長ければ、先頭から削除される。
%-20.30c カテゴリー名が20文字より短ければ右側に空白がパディングされる。しかし、カテゴリー名が30文字より長ければ先頭から削除される。