分散トランザクション処理機能 TP1/Extension for .NET Framework 使用の手引
![[目次]](FIGURE/CONTENT.GIF)
![[用語]](FIGURE/GLOSS.GIF)
![[索引]](FIGURE/INDEX.GIF)
![[前へ]](FIGURE/FRONT.GIF)
Log
Logの概要
名前空間
Hitachi.OpenTP1.Server
継承関係
System.Object
+- Hitachi.OpenTP1.Server.Log
説明
Logクラスは,UAPからメッセージログを出力するメソッドを提供します。
メソッドの一覧
メソッドの詳細
●Print
- 説明
- 指定した文字列に,OpenTP1で行ヘッダ,OpenTP1識別子,日時,要求元ノード名,要求元プログラムID,およびメッセージIDを付けて,メッセージログファイルに出力します。
- OpenTP1では,Printメソッドで使うメッセージID用に,05000から06999までの範囲の番号を割り当てています。UAPから出力するメッセージIDの番号には,05000から06999までの範囲の値を付けてください。
- 障害が起こってUAPからメッセージログが出力できない場合でも,Printメソッドが正常終了することがあります。そのため,メッセージログが抜ける場合がありますが,メッセージログの抜けはメッセージログに付けるメッセージログ通番で確認できます。
- ひとつのプロセスから複数回Printメソッドを呼び出した場合は,メッセージログファイルへの出力順序は保証されます。しかし,複数のプロセスから別々にPrintメソッドを呼び出した場合は,呼び出した順にメッセージログファイルに出力されない場合があります。
- 通信障害,およびログサービス未起動のエラーが起こった場合は,UAPから出力したメッセージを,そのUAPプロセス上で編集して,標準エラー出力に出力します。このとき,メッセージの終わりには,次に示すエラー要因を示すコードを付けます。
- E1
ログサービスが起動していないため,メッセージログに出力ができなかったメッセージを示します。
- E2
通信障害のため,メッセージログファイルに出力できなかったメッセージを示します。
- E1,E2以外のエラーを検出した場合,OpenTP1はエラーの原因を示すメッセージログにPrintメソッドに指定したメッセージIDの番号を付けて,標準エラー出力に出力します。
- 宣言
- 【C#の場合】
public static void Print(
string messageID,
string programID,
string outputMessage,
int displayColor
);
- 【Visual Basicの場合】
Public Shared Sub Print( _
ByVal messageID As String, _
ByVal programID As String, _
ByVal outputMessage As String, _
ByVal displayColor As Integer _
)
- 【J#の場合】
public static void Print(
System.String messageID,
System.String programID,
System.String outputMessage,
int displayColor
);
- パラメタ
- messageID
- メッセージログごとに付けられる識別子(メッセージID)を設定します。
- 「KFCAn1n2n3n4n5-x」の形式(11文字)で設定します。UAPから出力する通番(n1n2n3n4n5の部分)には,05000から06999までの数値を設定します。
- programID
- Printメソッドを呼び出したUAPを識別する値(要求元プログラムID)を,ユーザが任意で設定します。英数字2文字で設定します。
- outputMessage
- メッセージログファイルにメッセージログとして出力したい任意の文字列を設定します。最大222文字で設定します。
- displayColor
- Printメソッドで設定したメッセージログをNETMの操作支援端末に出力する場合の,表示色に対応した数値を設定します。次のどれかを設定します。
- 1:緑
- 2:赤
- 3:白
- 4:青
- 5:紫
- 6:水色
- 7:黄色
- 上記以外の数値を設定した場合は,緑が仮定されます。
- 戻り値
- なし
- 例外
- Hitachi.OpenTP1.Server.TP1ServerException
- 次の情報が出力されます。
- メッセージ
例外の内容が出力されます。
OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
"OpenTP1提供関数実行時にエラーが発生しました。"
それ以外の場合は,各エラーに対応したメッセージが出力されます。
- クラス名
例外が発生したクラス名が出力されます。
- メソッド名
例外が発生したメソッド名が出力されます。
- 引数名(OpenTP1提供関数呼び出し前の引数チェックでエラーになった場合にだけ出力)
例外が発生する原因となった引数名が出力されます。
- エラーコード
発生原因に応じ,次のエラーコード名称が出力されます。
| エラーコード |
説明 |
| DCLOGER_COMM |
プロセス間通信でエラーが発生しました。 |
| DCLOGER_DEFFILE |
システムの環境設定に誤りがあります。 |
| DCLOGER_HEADER |
ログサービスがメッセージログに付ける情報を取得したときに,障害が起こりました。 |
| DCLOGER_MEMORY |
メモリが不足しました。 |
| DCLOGER_NOT_UP |
ログサービスが起動していません。 |
| DCLOGER_PARAM_ARGS |
引数に設定した値が間違っています。 |
| DCLOGER_PROTO |
RpcクラスのOpenメソッドを呼び出していません。 |
- 注意事項
- ログ出力量が多い場合は,Printメソッドのリターンが遅くなります。
- 例えば,障害発生時にメッセージ出力量が著しく多くなると,トランザクション処理時間が延びます。スローダウンの要因になりますので,注意してください。
All Rights Reserved. Copyright (C) 2006, Hitachi, Ltd.