3.4 メッセージテキストを分割する方法

メッセージテキストを分割する方法には,次の2種類があります。

メッセージの形式に応じて,二つの方法を使い分けてください。一つのメッセージテキストを分割するのに,二つの方法を組み合わせてもかまいません。

それぞれの入力方法を説明します。

<この節の構成>
(1) 文字列で区切る方法
(2) バイト単位で区切る方法

(1) 文字列で区切る方法

区切りとなる文字を[正規化ルール定義]ダイアログの「先頭区切」または「後区切」に入力します。次のメッセージの例を基に,「先頭区切」および「後区切」への入力方法を説明します。

####△2007/12/31△00:00:00.000△△△△KKKK0000-E△起動に失敗しました。

(凡例)△:半角スペースを意味します。

「2007/12/31」,「00:00:00.000」,「KKKK0000-E」,および「起動に失敗しました。」に分割する場合,「先頭区切」および「後区切」に,次のように入力します。

「先頭区切」
「2007/12/31」以降の要素を監査ログに対応づけるために,「####△」を「先頭区切」に定義します。
「先頭区切」に定義できるのは1件だけです。
「後区切」
次のように入力します。

表3-10 「後区切」への入力方法(文字列で区切る場合)

種別形式後区切プレビュー
日付YYYY/MM/DD2007/12/31
時刻hh:mm:ss.sss00:00:00.000
共通情報メッセージIDKKKK0000-E
固有情報(自由)自由記述1起動に失敗しました。

(凡例)-:何も指定しないことを示します。


時刻とメッセージIDの間のように,連続する△(半角スペース)を区切り文字にする場合でも,△(半角スペース)1文字だけを定義すると,連続する△(半角スペース)が区切り文字として認識されます。
 
なお,「####△」を「先頭区切」に指定しないで,監査ログフォーマットの「その他」種別に対応づけても,同様に,「2007/12/31」以降の要素を監査ログに対応づけることができます。「先頭区切」に「####△」を指定しないで,「その他」種別に対応づける場合,次のように「後区切」に入力します。

表3-11 「先頭区切」に指定しない場合の「後区切」の入力方法(文字列で区切る場合)

種別形式後区切プレビュー
その他情報フィールド####
日付YYYY/MM/DD2007/12/31
時刻hh:mm:ss.sss00:00:00.000
共通情報メッセージIDKKKK0000-E
固有情報(自由)自由記述1起動に失敗しました。

(凡例)-:何も指定しないことを示します。


(2) バイト単位で区切る方法

区切り文字がないメッセージテキストを分割する場合は,バイト単位でメッセージテキストを分割します。次のメッセージの例を基に,「先頭区切」および「後区切」への入力方法を説明します。

図3-41 バイト単位で区切る例

[図データ]

「2007/12/31」,「00:00:00.000」,「KKKK0000-E」,および「起動に失敗しました。」に分割する場合,「先頭区切」および「後区切」に,次のように入力します。

「先頭区切」
「2007/12/31」以降の要素を監査ログに対応づけるために,「#####」を「先頭区切」にします。「#####」は5バイトなので,「先頭区切」に「5」を入力します。
先頭区切として定義できるのは1件だけです。
「後区切」
「後区切」には,直前で区切った位置から何バイトのところで区切るかを指定します。次のように入力します。

表3-12 「後区切」への入力方法(バイト単位で区切る場合)

種別形式後区切プレビュー
日付YYYY/MM/DD102007/12/31
時刻hh:mm:ss.sss1200:00:00.000
共通情報メッセージID10KKKK0000-E
固有情報(自由)自由記述120起動に失敗しました。
単位はバイトです。一度に区切れるのは,1~1,023バイトです。
 
なお,「#####」を「先頭区切」に指定しないで,監査ログフォーマットの「その他」種別に対応づけても,同様に,「2007/12/31」以降の要素を監査ログに対応づけることができます。「先頭区切」に「#####」のバイト数「5」を指定しないで,「その他」種別に対応づける場合,次のように「後区切」に入力します。

表3-13 「先頭区切」に指定しない場合の「後区切」の入力方法(バイト単位で区切る場合)

種別形式後区切プレビュー
その他情報フィールド5#####
日付YYYY/MM/DD102007/12/31
時刻hh:mm:ss.sss1200:00:00.000
共通情報メッセージID10KKKK0000-E
固有情報(自由)自由記述120起動に失敗しました。

 

メッセージ中に可変値があり,バイト単位で区切れない場合,文字列で区切る方法と組み合わせてメッセージテキストを分割してもかまいません。

バイト単位で区切る場合の注意事項
バイト単位で区切る場合は,次のことに注意してください。
  • メッセージ中にマルチバイトコードの文字列がある場合,1バイトコードは1バイト,2バイトコードは2バイトでカウントしてください。
  • メッセージ中の空白(半角スペースおよび全角スペース),または0x00~0x1F,および0x7Fの制御コード(タブ文字,改行コードなど)もバイト数でカウントしてください。