|
|
|
|
|
USERLOG(3cbl)
名前
USERLOG() - BEA Tuxedo ATMI の中央イベント・ログへのメッセージの書き込み
形式
01 LOG-REC.
COPY User data.
01 LOGREC-LEN PIC S9(9) COMP-5.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "USERLOG" USING LOG-REC LOGREC-LEN TPSTATUS-REC.
機能説明
USERLOG() は、固定出力ファイル (BEA Tuxedo ATMI の中央イベント・ログ) に LOG-REC を書き込みます。
中央のイベント・ログは通常の UNIX システムファイルで、そのパス名は次のように構成されています。
このあと、メッセージがそのファイルに追加されます。 この方法の場合、それ以降の日に USERLOG() をプロセスを呼び出すと、メッセージは別のファイルに書き込まれます。
catalog>:number>:
移植性
USERLOG インターフェイスは、UNIX および MS-DOS オペレーティング・システムで利用できます。 ログ・メッセージの一部として生成されるシステム名は、MS-DOS システムでは利用できません。このため、MS-DOS システムのシステム名としては、値 PC を使用します。
使用例
変数 ULOGPFX が/application/logs/log に設定されている場合、および USERLOG() の最初の呼び出しが 9/7/90 に行われた場合、作成されるログ・ファイルには/application/logs/log.090790 という名前が付けられます。 たとえば、
01 LOG-REC PIC X(15) VALUE "UNKNOWN USER".
01 LOGREC-LEN PIC S9(9) VALUES IS 13.
CALL "USERLOG" USING LOG-REC LOGREC-LEN TPSTATUS-REC.
上記のような呼び出しが、プロセス ID が 23431 であるプログラムにより UNIX システムが指定した logsys 上で 4:22:14pm に出された場合は、ログ・ファイルには次のような行が書き込まれます。
162214.logsys!security.23431: UNKNOWN USER
プロセスがトランザクション・モードのときにメッセージが中央イベント・ログに送られた場合、ユーザ・ログ・エントリのタグに追加の要素が加わります。 これらの要素は、リテラル gtrid と、それに続く 3 桁の PIC S9(9) COMP-5 の 16 進整数で構成されます。 これらの値はグローバル・トランザクションを一意に示し、グローバル・トランザクション識別子と呼ばれます。 この識別子は主に管理上の目的で使用されますが、中央イベント・ログでメッセージの先頭に付けられるタグの中に付けられます。 前述のメッセージがトランザクション・モードで中央イベント・ログに書き出される場合、結果として得られるログ・エントリは次のようになります。
162214.logsys!security.23431: gtrid x2 x24e1b803 x239: UNKNOWN USER
シェル変数 ULOGDEBUG の値が y であると、ログ・メッセージはプログラム security の標準エラー出力にも書き出されます。
エラー
USERLOG() は、送信されるメッセージが stdio.h で定義されている BUFSIZ より大きい場合はハングします。
診断
USERLOG() が返す値には、現在のログ・ファイルのオープンや書き込みができないことを示す値も含まれます。 ULOGDEBUG が設定されている場合、標準エラー出力への書き込みができない場合は、エラーとは見なされません。
注意事項
アプリケーションで USERLOG メッセージを使用する場合には、アプリケーション・エラーをデバッグするのに有用なものだけを使用するようにしてください。ログが情報であふれてしまうと、本来のエラーを検出するのが難しくなります。
|
|
|
|
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|