ログは、以下のフォーマットで構成されています。
標準のフォーマット指定方法
logFormatタグでログのフォーマットを指定する例です。
<logComposer name="system"> <output name="sysErrOut" type="stderr"> <logFormat>%d %m</logFormat> </output> </logComposer>
以下のように指定すると、システム情報を表示できます。
%m | メッセージ本文 |
%i | コンテキストID |
%d | 時刻 |
%t | スレッド名 |
%s | メソッド名 |
%l | ログレベル |
%% | %記号を表示する |
上記の例のように“%d %m”を指定した場合は、以下のようなログが出力されます。
2001/01/05 16:47:49 uji:no entry in commands.map for TestUseBean.dataBean1;submit
高度なフォーマット指定方法
定義済みのフォーマットパターンを指定してフォーマットを変更することが可能です。
時刻、コンテキストIDおよびメッセージ本文を半角カンマで区切って出力するにはmsgFormatタグでフォーマットパターン「2」、区切り文字パターン「3」を指定します。
<output name="sysStdOut" type="stdout"> <msgFormat patternNo="2" patternSeparator="3"/> </output>
msgFormatタグでフォーマットを詳細に指定する例を以下に示します。
<logComposer name="system" class="com.fujitsu.uji.log.ext.ExtMessageComposer"> <output name="sysErrOut" type="stderr"> <msgFormat> <msgBasic> <!-- 時刻のフォーマットを"yyyy/MM/dd hh:mm:ss.SSS"に指定 --> <item name="%d" format="yyyy/MM/dd hh:mm:ss.SSS" > </item> <item name="%m"/> </msgBasic> <msgBody> <!-- メッセージIDの長さを10に指定 --> <item name="messageID" length="10" > </item> <item name="message"/> </msgBody> </msgFormat> </output> </logComposer>
msgFormat
ログ全体のフォーマットを指定します。例では、日付のitemタグとメッセージ本文のitemタグを指定しています。itemタグのコンテント(例では空白1文字)はログ中に埋め込む文字列を表します。
msgBody
メッセージ本文のフォーマットを指定します。例では、メッセージIDと、メッセージを指定しています。
その他メッセージのフォーマットやセション情報のフォーマットを指定できます。詳細は“定義ファイルリファレンス”を参照してください。