3.4.2 バイト単位で区切る方法
区切り文字がないメッセージテキストを分割する場合は,バイト単位でメッセージテキストを分割します。次のメッセージの例を基に,「先頭区切」および「後区切」への入力方法を説明します。
「2007/12/31」,「00:00:00.000」,「KKKK0000-E」,および「起動に失敗しました。」に分割する場合,「先頭区切」および「後区切」に,次のように入力します。
- 「先頭区切」
-
「2007/12/31」以降の要素を監査ログに対応づけるために,「#####」を「先頭区切」にします。「#####」は5バイトなので,「先頭区切」に「5」を入力します。
先頭区切として定義できるのは1件だけです。
- 「後区切」
-
「後区切」には,直前で区切った位置から何バイトのところで区切るかを指定します。次のように入力します。
表3‒12 「後区切」への入力方法(バイト単位で区切る場合) 種別
形式
後区切
プレビュー
日付
YYYY/MM/DD
10
2007/12/31
時刻
hh:mm:ss.sss
12
00:00:00.000
共通情報
メッセージID
10
KKKK0000-E
固有情報(自由)
自由記述1
20
起動に失敗しました。
単位はバイトです。一度に区切れるのは,1〜1,023バイトです。
なお,「#####」を「先頭区切」に指定しないで,監査ログフォーマットの「その他」種別に対応づけても,同様に,「2007/12/31」以降の要素を監査ログに対応づけることができます。「先頭区切」に「#####」のバイト数「5」を指定しないで,「その他」種別に対応づける場合,次のように「後区切」に入力します。
表3‒13 「先頭区切」に指定しない場合の「後区切」の入力方法(バイト単位で区切る場合) 種別
形式
後区切
プレビュー
その他
情報フィールド
5
#####
日付
YYYY/MM/DD
10
2007/12/31
時刻
hh:mm:ss.sss
12
00:00:00.000
共通情報
メッセージID
10
KKKK0000-E
固有情報(自由)
自由記述1
20
起動に失敗しました。
メッセージ中に可変値があり,バイト単位で区切れない場合,文字列で区切る方法と組み合わせてメッセージテキストを分割してもかまいません。
- バイト単位で区切る場合の注意事項
-
バイト単位で区切る場合は,次のことに注意してください。
-
日付情報が1けたと2けたの両方で出力される場合は,文字列で区切ってください。
例えば,2009/1/11や2009/10/1のように,月または日が1けたで出力されるメッセージの場合,バイト単位で区切ると,バイト数にずれが生じます。このため,文字列で区切るようにしてください。
-
メッセージ中にマルチバイトコードの文字列がある場合,1バイトコードは1バイト,2バイトコードは2バイトでカウントしてください。
-
メッセージ中の空白(半角スペースおよび全角スペース),または0x00〜0x1F,および0x7Fの制御コード(タブ文字,改行コードなど)もバイト数でカウントしてください。
-