• 検索結果がありません。

ログ出力項目カスタマイズ

ドキュメント内 運用ガイド (ページ 135-139)

第3章 トラブルシューティング

3.4 ログ出力項目カスタマイズ

ログに出力される項目のカスタマイズ方法について説明します。

ISIが出力するログに、規定の出力項目以外のユーザデータ(たとえば、サービス利用側のアプリケーションで採番したメッセージ番号) を埋め込むことができます。指定できるユーザデータは、5つまでです。

ログに出力するユーザデータを指定するには、以下の方法があります。

・ サービス利用側アプリケーションの指定

サービス利用側のアプリケーションを利用して、共通メッセージのヘッダにユーザデータを指定します。

・ シーケンス情報の指定

ISI Studioを利用して、シーケンス情報の変数にユーザデータの取得情報を指定します。

ログ出力項目カスタマイズの主な特長は、以下のとおりです。

・ ユーザデータを埋め込んだログが出力されるのは、以下の条件を両方とも満たす場合だけです。それ以外の場合は、規定の出力 形式でログが出力されます。

- シーケンスエンジン実行時のログ

- ESIMessageのIDが設定されている

・ シーケンス開始からシーケンスエンジンの初期化処理終了までは、サービス利用側のアプリケーションで指定したユーザデータ が、ログに出力されます。

シーケンスエンジンの初期化処理が終了してからは、サービス利用側アプリケーションで指定したユーザデータ、およびシーケン ス情報で指定したユーザデータが、ログに出力されます。

・ ユーザデータは、以下の並び順でログに出力されます。

1. サービス利用側のアプリケーションで指定したユーザデータは、共通メッセージのヘッダに設定した順番に出力されます。

2. シーケンス情報で指定したユーザデータは、シーケンス情報の変数に設定した順番に出力されます。

図3.1 ログ出力項目カスタマイズの機能

・ サービス利用側のアプリケーションとシーケンス情報で指定したユーザデータの合計が6つ以上になった場合、警告が出力され、

サービス利用側アプリケーションで指定したユーザデータが優先されて出力されます。

・ 値がnullのユーザデータを指定した場合、ログには文字列「null」が出力されます。

・ ユーザデータの長さは、128バイト以内で指定してください。128バイトを超えた場合、ログが正しく出力されない可能性があります。

・ ユーザデータの取得中に例外が発生し、取得が失敗した場合、警告が出力され、ログには文字列「null」が出力されます。

grep機能を利用すると、ログに出力されたユーザデータをキーワードに、エラー情報のトレースが容易にできます。シーケンスログのス テップログ採取を利用すると、各ステップの実行成功/失敗が出力されるので、ISIの正常動作を判断しやすくなります。

出力形式

最大5つまでのユーザデータが、以下の形式で出力されます。ユーザデータが出力される位置は、ESI-MessageIDの次です。

USERDATA[ユーザデータ1,ユーザデータ2,…]USERDATA

出力例(シーケンスログ)

2009-09-16T20:25:02.703 1208777102703 xxx null ### SEQUENCE-START ### ESI-xxx-20090916000121148-12785 USERDATA[aaa,bbb]USERDATA ### ### ### 1773 ### ###

2009-09-16T20:25:02.703 1208777102703 xxx null ### INITIALIZE-START ### ESI-xxx-20090916000121148-12785 USERDATA[aaa,bbb]USERDATA ### ### ### 1773 ### ###

2009-09-16T20:25:02.875 1208777102875 xxx null ### INITIALIZE-END SUCCESS ESI-xxx-20090916000121148-12785 USERDATA[aaa,bbb,ccc]USERDATA ### ### ### 1773 ### ###

2009-09-16T20:25:02.937 1208777102937 xxx null ### SEQUENCE-END FAILURE ESI-xxx-20090916000121148-12785 USERDATA[aaa,bbb,ccc]USERDATA ### ### ### 1773 ### ###

3.4.1 サービス利用側アプリケーションの指定

サービス利用側のアプリケーションで共通メッセージ操作APIを利用し、ログに出力させるユーザデータを指定します。

共通メッセージのヘッダに「com.fujitsu.esi.logcustom.value*」をキーとして、ユーザデータを指定します。「*」には、1~5までの整数値 を半角数字で指定します。

共通メッセージ操作APIの詳細については、“ISI アプリケーション開発ガイド”を参照してください。

共通メッセージのヘッダにユーザデータを設定する場合の指定例は、以下のとおりです。

:

ESIMessage msg = new ESIMessage();

//プロパティの設定

msg.getHeader().getParameter().put("com.fujitsu.esi.logcustom.value1", "aaa");

msg.getHeader().getParameter().put("com.fujitsu.esi.logcustom.value2", "bbb");

:

3.4.2 シーケンス情報の指定

ISI Studioを利用し、ログに出力させるユーザデータの取得情報を指定します。

シーケンス情報の変数に、ユーザデータ取得情報のキー名と値を指定します。ISI Studioの操作については、“ISI Studio ヘルプ”を参 照してください。

画面例

図3.2 XMLデータの画面例

図3.3 FLATデータの画面例

図3.4 CSVデータの画面例

指定例

表3.3 キー名と情報

キー名 説明 備考/指定例

com.fujitsu.esi.logcustom.dataType ユーザデータを指定した共通メッ

セージのデータタイプを、半角英大 文字で指定します。以下のどれかを 指定します。

・ XML

XMLデータです。

・ FLAT

FLATデータです。

・ CSV

CSVデータです。

必須

・ XMLデータの場合

XML

・ FLATデータの場合

FLAT

・ CSVデータの場合

CSV

com.fujitsu.esi.logcustom.position*

“*”には、1~5の範囲の整数を半角数字で指定してく ださい。

ログに出力させるユーザデータの取 出し位置を指定します。

・ XMLデータの場合

XPathを指定します。

・ FLATデータの場合

取得開始位置、取得けた数を

「,」(半角カンマ)で区切って指定 します。

取得開始位置、取得けた数は 半角数字で指定してください。

・ CSVデータの場合

取得ライン番号、取得カラム番 号を「,」(半角カンマ)で区切って 指定します。

取得ライン番号、取得カラム番 号は半角数字で指定してくださ い。

必須

複数(5つまで)指定可

・ XMLデータの場合 /data1/text()

・ FLATデータの場合

10,15

・ CSVデータの場合

1,2

com.fujitsu.esi.logcustom.charCode 取得元がFLATデータ、CSVデータ

の場合に、文字コードを指定します。

必須 Shift-JIS

・ ファイル転送機能を利用している場合、ファイルのデータタイプがFLATの場合だけ利用できます。データタイプがXMLまたはCSV の場合は、利用できません。

・ 文字コードにUTF-16を使用する場合、リトルエンディアンは“UTF-16LE”、ビックエンディアンは“UTF-16BE”を指定してください。

ドキュメント内 運用ガイド (ページ 135-139)