Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成の手引


2.5.1 メッセージログをアプリケーションプログラムから出力

UAPからdc_logprint関数【CBLDCLOG('PRINT ')】を呼び出すと,ユーザ任意の情報をOpenTP1からのメッセージログとして出力できます。メッセージログはメッセージログファイルに出力されます。メッセージログファイルに出力された内容を表示するときは,logcatコマンドを実行して,標準出力に出力します。

メッセージログファイルへの出力と同時に,標準出力にリアルタイムに出力させることもできます。標準出力にリアルタイムで出力するかどうかは,ログサービス定義で指定します。

UAPからのメッセージログ出力の概要を次の図に示します。

図2‒50 UAPからのメッセージログ出力の概要

[図データ]

〈この項の構成〉

(1) メッセージログとして出力する内容

メッセージログファイルに出力するメッセージログの情報の内容を次の表に示します。UAPから指定する項目は,要求元プログラムID,メッセージID,メッセージログテキストです。メッセージログファイルには次の表で示す情報とOpenTP1の制御コードが出力されます。

表2‒2 メッセージログファイルに出力するメッセージログの内容

番号

項目

出力される長さ

内容

行ヘッダ

メッセージログ通番

半角文字7けた

メッセージログ全体の通番です。障害が起こってメッセージログが抜けた場合は,このメッセージログ通番に抜けがあることでわかります。

プロセスID

半角数字10けた

または,半角数字5けた

(ログサービス定義の環境変数DCLOGDEFPIDに1を指定した場合は,半角数字5けた)

メッセージログ出力を指定したプロセスのIDを示します。

プロセス単位のメッセージログ通番

半角数字7けた

出力を要求したプロセス単位の,メッセージログの通番です。

1.

OpenTP1識別子

半角英数字2けた

OpenTP1システムごとの識別子です。

2.

日時

整数19けた

メッセージログの出力を要求した時間です。

「年/月/日 時:分:秒」の形式で出力されます。

3.

要求元ノード名

半角英数字8けた

メッセージログの出力を要求したUAPがあるノードの名称です。

ノード名の先頭8文字が出力されます。

4.

要求元プログラムID

半角英数字3けた

最初の1文字は「*」で固定として,あとの2文字はUAPで指定した要求元プログラムIDが設定されます。

5.

メッセージID

半角英数字11けた

メッセージログ出力を要求したときに,UAPでメッセージログごとに付ける識別子です。メッセージIDの形式は次のとおりです。

KFCAn1n2n3n4n5-x

KFCA:

固定部分です。

n1n2n3n4n5

UAPで指定する通番です。UAPで出力するメッセージログには,05000から06999までの通番が割り当てられています。

x:

メッセージログの種別を英字大文字で付けます。

E…エラーメッセージログ

I…通知メッセージログ

W…警告メッセージログ

R…応答要求メッセージログ

6.

メッセージログテキスト

可変長

最大222バイト

(Linux版だけ最大444バイト)

UAPが指定した任意の文字列です。

(2) メッセージログの出力形式

UAPからdc_logprint関数で出力要求したメッセージログを,logcatコマンドで標準出力に表示する形式を次の図に示します。次の図はオプションを省略して入力した例です。logcatコマンドについては,マニュアル「OpenTP1 運用と操作」を参照してください。図中の番号は表2-2と対応しています。

図2‒51 メッセージログの出力形式

[図データ]

(3) NETMにメッセージを渡すときの注意

UAPから出力するメッセージログも,OpenTP1のメッセージログと同様に,統合ネットワーク管理システム(NETM)の操作支援端末に出力できます。NETMに出力するメッセージログの内容は次のとおりです。

さらに,操作支援端末に出力するメッセージログの表示色を,UAPで設定できます。

UAPから出力するメッセージログをNETMに出力するときは,次のことに気を付けてください。

NETM:Integrated Network Management System