Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム システム構築・運用ガイド


7.4.6 デバッグ情報

デバッグ情報を出力できる機能を次の表に示します。また,各機能の出力形式の指定可否もあわせて示します。

デバッグ情報を出力できる機能

出力形式の指定可否

ユーザ電文トレース機能

データ変換API

×

データ変換単体テストコマンド

 csctransformコマンド

 cscbinaryparseコマンド

 cscgenbinaryコマンド

(凡例)

○:HCSCサーバランタイム定義ファイルのtelegramtrace-formatプロパティで,16進数形式データとASCII形式データの出力行を分けるかどうかを指定できます。

×:出力形式は指定できません。16進数形式データとASCII形式データは同じ行に出力されます。

デバッグ情報の取得を設定した場合,ユーザ電文トレースで出力されるデバッグ情報は次の3つの部分で構成されます。

デバッグ情報の出力形式を次に示します。

[図データ]

この項は,取得されたユーザ電文トレース(デバッグ情報)の確認方法について説明します。デバッグ情報の取得方法については,「7.3.2(6) デバッグ情報の取得方法」を参照してください。

注意事項

デバッグ情報は電文の内容をファイルに出力します。そのため,情報漏洩などのセキュリティ上の問題が発生しないよう,取り扱いに注意してください。

〈この項の構成〉

(1) ユーザ電文トレース(デバッグ情報)の出力先

ユーザ電文トレース(デバッグ情報)の出力先を次に示します。

(a) データ変換APIの実行時に出力されるデバッグ情報

ユーザ電文トレース(デバッグ情報)は,usrconf.properties(J2EEサーバ用ユーザプロパティファイル)のcsc.dt.debugtrace.filepathプロパティで指定されたパスへ出力されます。ファイル名を次に示します。

  • ラップアラウンドモードの場合

    cscdebug_<グループ名>_<面数>.log
  • シフトモードの場合

    cscdebug_<グループ名>_.log

<グループ名>には,データ変換APIのインスタンス(グループ)の名称が付加されます。

<面数>には,usrconf.properties(J2EEサーバ用ユーザプロパティファイル)で設定した面数が付加されます。

(b) HCSCサーバでのデータ変換時に出力されるデバッグ情報

ユーザ電文トレース(デバッグ情報)は,HCSCサーバランタイム定義ファイルのtelegramtrace-filepathプロパティで指定されたパスへ出力されます。なお,指定したパスが存在しない場合,またはパスが誤っていた場合は,省略値の出力先にトレースが出力されます。

ファイル名を次に示します。

  • ラップアラウンドモードの場合

    csctelegram_<HCSCサーバ名>_<面数>.log
  • シフトモードの場合

    csctelegram_<HCSCサーバ名>_.log

<面数>には,HCSCサーバランタイム定義ファイルで設定した面数が付加されます。

(c) データ変換単体テストコマンドの実行時に出力されるデバッグ情報

ユーザ電文トレース(デバッグ情報)は,データ変換単体テストコマンド(csctransformコマンド,cscbinaryparseコマンド,およびcscgenbinaryコマンド)で指定されたパスへ出力されます。ファイル名を次に示します。

cscdebug_dtcommand_<面数>.log

<面数>には面数が付加されます。面数の最大は16,1面当たりの最大サイズは2147483647バイトです。面数の最大値,最大サイズ,ローテーション方式は変更できません。

(2) ユーザ電文トレース(デバッグ情報)開始の出力形式と出力される内容

(a) 出力形式

ユーザ電文トレース(デバッグ情報)開始の出力形式を次の図に示します。

図7‒33 ユーザ電文トレース(デバッグ情報)開始の出力形式

[図データ]

(b) 出力される内容

ユーザ電文トレース(デバッグ情報)開始に出力される内容を次の表に示します。

表7‒56 ユーザ電文トレース(デバッグ情報)開始に出力される内容

項目

内容

番号

トレースレコードの出力通番が表示されます。

日付

トレースレコードの取得日付(yyyy/mm/dd形式)が出力されます。

時刻

トレースレコードの取得時刻(hh:mm:ss.SSS形式)が,ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を特定するための識別子が出力されます。

  • CSCDT:CSCデータ変換

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

表示されません。

電文トレース開始取得ポイント識別情報

電文トレース開始

ユーザ電文トレース開始を示す文字列「debugtrace started」が出力されます。

取得位置

トレースの取得ポイント情報(取得位置)が出力されます。

  • DT:データ変換処理

プロトコル種別

表示されません。

詳細位置

トレースの取得ポイント情報(詳細位置)が出力されます。

  • RED:バイナリデータの読込処理

  • WRT:バイナリデータの生成処理

メッセージ共通ID

表示されません。

付加情報

次の付加情報が出力されます。

(a) バイナリデータの場合

  • データ種別(Binary)

  • 入力データ全体のサイズ

  • エラー時の読込位置(オフセット)

  • ルートアプリケーション情報※1

(b) DOMの場合

  • データ種別(DOM)

  • エラー発生時に処理していたノードの絶対パス※2

  • ルートアプリケーション情報※1

CRLF

レコード終端符号が出力されます。

注※1

csctransformコマンドおよびcscbinaryparseコマンドのデバッグ情報には出力されません。

注※2

同名の要素が複数存在する場合は,パスの該当部分には要素の出現位置を1から始まる添字で次のように出力します。

 例)ノード名[要素の出現位置]

なお,バイナリデータ読み込み処理完了後にバイナリデータが残っていた場合は,Nodeタグは出力されません。

(3) ユーザ電文トレース(デバッグ情報)データの出力形式と出力される内容

データ変換基盤では,エラー発生までに処理した電文の情報をデバッグ情報としてユーザ電文トレースに出力できます。

デバッグ情報で出力される内容を次に示します。

表7‒57 デバッグ情報で出力される内容

出力タイミング

出力されるデバッグ情報

用途

バイナリデータの読込時(バイナリデータ→DOMの変換)

読み込みが完了したバイナリデータ,およびDOMの情報

処理中のデータに不正なデータが存在した場合,内容を確認できます。

入力データ全体のサイズ

入力データの不正な個所を特定できます。

入力データに対する現在の読み込み位置(エラーが発生した際の読み込み位置)

エラー発生時に処理していたノードの絶対パス

ルートアプリケーション情報

同じルートアプリケーション情報をメッセージログから引き当てることで,エラー原因のメッセージ出力個所を特定できます。

バイナリデータの生成時(DOM→バイナリデータの変換)

エラーが起きたノードまでのDOMの情報

処理中のデータに不正なデータが存在した場合,内容を確認できます。

エラー発生時に処理していたノードの絶対パス

入力データの不正な個所を特定できます。

ルートアプリケーション情報

同じルートアプリケーション情報をメッセージログから引き当てることで,エラー原因のメッセージ出力個所を特定できます。

なお,デバッグ情報に出力されたノードがエラーの原因とは限らないため,前後のノードの情報と,それに対応するバイナリデータも参照してください。

(a) 出力形式(telegramtrace-format=FIXEDを指定した場合)

HCSCサーバランタイム定義ファイルにtelegramtrace-format=FIXEDを指定した場合のユーザ電文トレース(デバッグ情報)データの出力形式を次の図に示します。

図7‒34 ユーザ電文トレース(デバッグ情報)データの出力形式(telegramtrace-format=FIXEDを指定した場合)

[図データ]

(b) 出力される内容(telegramtrace-format=FIXEDを指定した場合)

HCSCサーバランタイム定義ファイルにtelegramtrace-format=FIXEDを指定した場合のユーザ電文トレース(デバッグ情報)データに出力される内容を次の表に示します。なお,デバッグ情報がない場合(バイナリ,DOMのデータ長が0またはnullの場合)は,トレースデータを出力しません。

表7‒58 ユーザ電文トレース(デバッグ情報)データに出力される内容(telegramtrace-format=FIXEDを指定した場合)

項目

内容

番号

トレースレコードの出力通番が表示されます。

日付

トレースレコードの取得日付(yyyy/mm/dd形式)が出力されます。

時刻

トレースレコードの取得時刻(hh:mm:ss.SSS形式)が,ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を特定するための識別子が出力されます。

  • CSCDT:CSCデータ変換

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

表示されません。

電文トレースデータ情報

出力位置(16進数形式)

ユーザ電文の先頭からのオフセット値(16進数形式)が出力されます。

データ(16進数形式)

ユーザ電文(バイナリデータまたはDOM)の内容が16進数形式で出力されます。

データ(ASCII形式)

ユーザ電文(バイナリデータまたはDOM)の内容がASCII形式で出力されます。

0x00〜0x1F,0x7F〜0xFFの範囲の場合はASCII文字,それ以外の場合はピリオド(.)が出力されます。

CRLF

レコード終端符号が出力されます。

(c) 出力形式(telegramtrace-format=READABLEを指定した場合)

HCSCサーバランタイム定義ファイルにtelegramtrace-format=READABLEを指定した場合,16進数形式データとUTF-8形式データはそれぞれ別の行に出力されます。それぞれの出力形式を次の図に示します。

図7‒35 ユーザ電文トレース(デバッグ情報)データの出力形式(telegramtrace-format=READABLEを指定した場合)(16進数形式データ)

[図データ]

図7‒36 ユーザ電文トレース(デバッグ情報)データの出力形式(telegramtrace-format=READABLEを指定した場合)(UTF-8形式データ)

[図データ]

(d) 出力される内容(telegramtrace-format=READABLEを指定した場合)

HCSCサーバランタイム定義ファイルにtelegramtrace-format=READABLEを指定した場合,16進数形式データとUTF-8形式データの出力内容が異なります。それぞれの出力形式を次の表に示します。

表7‒59 ユーザ電文トレース(デバッグ情報)データに出力される内容(telegramtrace-format=READABLEを指定した場合)(16進数形式データ)

項目

内容

番号

トレースレコードの出力通番が表示されます。

日付

トレースレコードの取得日付(yyyy/mm/dd形式)が出力されます。

時刻

トレースレコードの取得時刻(hh:mm:ss.SSS形式)が,ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を特定するための識別子が出力されます。

  • CSCDT:CSCデータ変換

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

表示されません。

電文トレースデータ情報

出力位置(16進数形式)

ユーザ電文の先頭からのオフセット値(16進数形式)が出力されます。

データ(16進数形式)

ユーザ電文(バイナリデータまたはDOM)の内容が16進数形式で出力されます。

CRLF

レコード終端符号が出力されます。

表7‒60 ユーザ電文トレースデータに出力される内容(telegramtrace-format=READABLEを指定した場合)(UTF-8形式データ)

項目

内容

番号

トレースレコードの出力通番が表示されます。

日付

トレースレコードの取得日付(yyyy/mm/dd形式)が出力されます。

時刻

トレースレコードの取得時刻(hh:mm:ss.SSS形式)が,ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を特定するための識別子が出力されます。

  • CSCDT:CSCデータ変換

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

表示されません。

電文トレースデータ情報

データ(UTF-8形式)

ユーザ電文(バイナリデータまたはDOM)の内容をUTF-8形式で出力します。

  • 0x20〜0x7Eの範囲にある文字は,ASCII文字として出力します。

  • 次の範囲にある文字は,ピリオド(.)を出力します。

    0x00〜0x08

    0x0B〜0x0C

    0x0E〜0x1F

    0x7F

  • 0x09の場合は,水平タブを出力します。

  • 改行コード(0x0aまたは0x0d)は出力しません。

  • 0xFE〜0xFFの範囲にある文字は,クエスチョンマーク(?)を出力します。

  • マルチバイト文字として正しく記述されている場合は,マルチバイト文字を出力します

CRLF

レコード終端符号が出力されます。

ユーザ電文トレースの1行の長さは最大4,185バイトです。それを超えた分は次の行に出力されます。4,185バイト目のデータがマルチバイト文字の場合,マルチバイト文字は次の行に出力されます。

注※

マルチバイト文字の文字コードの割り当て範囲を次の表に示します。

表7‒61 UTF-8のマルチバイト文字の割り当て範囲

区分

文字コードの範囲(16進数)

2バイト文字の開始バイト

0xC0〜0xDF

3バイト文字の開始バイト

0xE0〜0xEF

4バイト文字の開始バイト

0xF0〜0xF7

5バイト文字の開始バイト

0xF8〜0xFB

6バイト文字の開始バイト

0xFC〜0xFD

マルチバイト文字の2バイト目以降

0x80〜0xBF

なお,この範囲内でも出力するデータの並びが文字セットにとって不当な場合や,出力するデータの並びが正当でも有効な文字に対応付けできない場合は,クエスチョンマーク(?)を出力します。

(4) ユーザ電文トレース(デバッグ情報)終了の出力形式と出力される内容

(a) 出力形式

ユーザ電文トレース(デバッグ情報)終了の出力形式を次の図に示します。

図7‒37 ユーザ電文トレース(デバッグ情報)終了の出力形式

[図データ]

付加情報のデータ長の上限は目安です。上限値を超えても切り捨てられないで出力されます。

(b) 出力される内容

ユーザ電文トレース(デバッグ情報)終了に出力される内容を次の表に示します。

表7‒62 ユーザ電文トレース(デバッグ情報)終了に出力される内容

項目

内容

番号

トレースレコードの出力通番が表示されます。

日付

トレースレコードの取得日付(yyyy/mm/dd形式)が出力されます。

時刻

トレースレコードの取得時刻(hh:mm:ss.SSS形式)が,ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を特定するための識別子が出力されます。

  • CSCDT:データ変換基盤

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

表示されません。

電文トレース終了取得ポイント識別情報

電文トレース終了

ユーザ電文トレース終了を示す文字列「debugtrace ended」が出力されます。

取得位置

トレースの取得ポイント情報(取得位置)が出力されます。

  • DT:データ変換処理

プロトコル種別

表示されません。

詳細位置

トレースの取得ポイント情報(詳細位置)が出力されます。

  • RED:バイナリデータの読込処理

  • WRT:バイナリデータの生成処理

メッセージ共通ID

表示されません。

付加情報

付加情報として,ユーザ電文の長さが10進数形式で出力されます。ユーザ電文がない場合は「null」,0バイトの場合は「0」が出力されます。

CRLF

レコード終端符号が出力されます。

(5) ユーザ電文トレース(デバッグ情報)の出力契機

デバッグ情報の出力契機は,機能ごとに次のように異なります。

(a) データ変換APIの実行時に出力されるデバッグ情報

データ変換APIでのバイナリデータの変換処理中にエラーが発生した場合,デバッグ情報が出力されます。

(b) HCSCサーバでのデータ変換時に出力されるデバッグ情報

HCSCサーバのデータ変換時のデバッグ情報を出力する場合(HCSCサーバランタイム定義ファイルのtelegramtrace-triggerプロパティに「DTERR」を指定した場合),デバッグ情報は次のタイミングで出力されます。

表7‒63 ユーザ電文トレース(デバッグ情報)の出力契機と出力内容

タイミング

出力されるデバッグ情報

バイナリデータの読込処理(バイナリからDOMへの変換)時

エラー発生までに処理した電文(バイナリ,DOM)の情報

バイナリデータの生成処理(DOMからバイナリへの変換)時

エラー発生までに処理した電文(DOM)の情報

(c) データ変換単体テストコマンドの実行時に出力されるデバッグ情報

データ変換単体テストコマンド(csctransformコマンド,cscbinaryparseコマンド,およびcscgenbinaryコマンド)の実行時にエラーが発生した場合,デバッグ情報が出力されます。

(6) ユーザ電文トレース(デバッグ情報)の取得ポイント

ユーザ電文トレース(デバッグ情報)のデバッグ情報を出力する場合の取得ポイントを説明します。

バイナリデータのデータ変換処理の解析エラー発生時に関して,ユーザ電文トレース(デバッグ情報)のトレース取得ポイントを次の図に示します。

図7‒38 ユーザ電文トレース(デバッグ情報)の取得ポイント(バイナリデータのデータ変換処理の解析エラー発生時)

[図データ]

トレース取得ポイントを次の表に示します。表の「図中の番号」は,上の図の中の番号と対応しています。

表7‒64 ユーザ電文トレース(デバッグ情報)取得ポイント(バイナリデータのデータ変換処理の解析エラー発生時)

図中の番号

トレース取得ポイント

1

バイナリデータの読込処理のエラー発生個所

2

バイナリデータの生成処理のエラー発生個所

(7) 詳細情報メッセージの出力

バイナリデータ変換処理でエラーが発生した場合,デバッグ情報の出力可否に関係なく,詳細情報メッセージ(KDEC40312-I,KDEC40313-I)がメッセージログに出力されます。

詳細情報メッセージには次に示す情報が出力されるため,入力データの不正な個所の特定に利用できます。

また,詳細情報メッセージの出力個所の前後には,エラーの原因を示す例外メッセージが出力されているため,あわせて確認してください。