目的
Write to Log Streamは、ログ メッセージの実行依頼に使用されるサービス関数です。
構造
#include <pxoper.h> PXSTC_Code PX_LogWrite(PX_LogHandle loghandle, PXInt32 messagenumber, PXInt32 destination, PXInt32 messagecategory, ...);
次のような場合に当てはまります。
パラメータ | 機能 | 指定 |
---|---|---|
destination | 入力 | メッセージの宛先を記述する宛先ビット マスク。 LOG_DEST_CONSとLOG_DEST_LOGの組合わせはすべて有効です。 複数の宛先は、値(LOG_DEST_CONS | LOG_DEST_LOG)を論理和演算することによって入力されます。 |
loghandle | 入力 | (PX_LogInit()から返される)ログ ストリームへのハンドル |
messagecategory | 入力 | メッセージのカテゴリ。 有効なメッセージ カテゴリは以下のとおりです。
|
messagenumber | 入力 | メッセージ カタログに含まれるメッセージ番号 メッセージ カタログは、Teradata PTスクリプトのDEFINE OPERATOR文の中で識別されます。 メッセージ番号によって記述されるメッセージは、Log View Clientからのアクセス時に形式列として使用されます。 |
... | 入力 | メッセージ(1..*)への引数 このパラメータの変数リストは、メッセージ カタログから形式列に挿入される引数です。 各引数は、型と値を伴なって供給されます。 これは、以下の方法でマクロ セットによって処理されます。
このリストは、常に、PXEOP(EndOfParameterList)を最終パラメータとして終了しなければなりません。 これを行なわない場合は、プログラムがループし、最終的にはメモリ 障害が発生します。 |
戻りコード
以下のWrite to Log Stream関数のステータス コードは、Teradata PTオペレータ インターフェースによって定義されます。
ステータス コード | 意味 |
---|---|
PXSTC_Success | 呼出しの成功 |
PXSTC_LogCommunicationError | ノードLoggerとのソケット通信から発生したエラー |
PXSTC_LogInsuffMemError | メモリ の割振りの失敗 |
PXSTC_InvalidDataType | Logger APIにとって未知のパラメータ型が含まれている |
PXSTC_NoMessageCatalog | 要求されたメッセージ カタログが存在しない |
PXSTC_UnknownError | ログ レコードの書込み時に遭遇した未知のエラー |
使用上の注意
Write to Log Stream関数を定義する場合の注意事項は、以下を考慮してください。
対象 | 使用上の注意 |
---|---|
ステータス | 関数のステータスがPXSTC_Successの場合は、この関数によってメッセージがメッセージ カタログに正常に書き込まれたことを示します。 Initiate Log Streamも参照してください。 |
例 - Write to Log Stream
#include <pxoper.h> PX_ErrorProc myerror; PX_LogHandle loghandle; PX_LogInit(oprhandle, "mycomponent", 75, NULL, myerror, &loghandle); PX_LogWrite(loghandle, mymessagenumber, LOG_DEST_CONS | LOG_DEST_LOG, LOG_FATALERROR, ...); PX_LogTerminate(loghandle);