目的
Initiate Log Streamは、ログ ストリームを開始するために使用されます。 Teradata PTスクリプト内では、Log View ServerまたはLog View Clientにメッセージを生成させるためのメッセージ カタログ名が供給されます。 ロギング機能自体は、メッセージ カタログを使用しません。
構造
#include <pxoper.h> PXSTC_Code PX_LogInit(PX_OperatorHandle oprhandle, char *componentname, PX_Number instancenumber char *outputlogreport, PX_ErrorProc errorproc, PX_LogHandle *loghandle);
次のような場合に当てはまります。
パラメータ | 機能 | 指定 |
---|---|---|
componentname | 入力 | コンポーネントの名前 |
instancenumber | 入力 | オペレータ インスタンスの番号 |
loghandle | 出力 | Logger APIによって割り振られたログ ストリームへのハンドル。 PX_LogInitへのPX_LogHandleポインタのアドレスを渡すことは呼出し元が担当します。ただし、構造体の割振りはLogger APIの担当となります。 |
errorproc | 入力 | Logger API内でエラーが発生したときに呼び出される関数へのポインタ。特定のエラー処理が必要ではない場合は、NULL。 |
oprhandle | 入力 | オペレータへのハンドル |
outputlogreport | 入力 | プライベート ログ レポートの名前。ログ レポートがパブリックの場合は、NULL。 outputlogreportパラメータには、PrivateFileNameなどの明示的な文字値、またはNULLのいずれかを含めることができます。 NULLが指定された場合、ログはPUBLIC(パブリック)になります。 |
戻りコード
以下のInitiate Log Stream関数のステータス コードは、Teradata PTオペレータ インターフェースによって定義されます。
ステータス コード | 意味 |
---|---|
PXSTC_Success | 呼出しの成功 |
PXSTC_LogInsuff MemError | メモリ の割振りの失敗 |
PXSTC_CatalogError | メッセージ カタログが指定されていない |
PXSTC_Log CommunicationError | ノードLoggerとのソケット通信からのエラー |
PXSTC_LogPassword | Logger APIがロガーのパスワードとして間違った値を供給した(供給されたAPIを使用せずにロガーへのアクセスを試みたことを示す) |
PXSTC_InvalidData Type | Logger APIにとって未知のパラメータ型が含まれている |
PXSTC_NoMessage Catalog | 要求されたメッセージ カタログが存在しない |
PXSTC_Unknown Error | 未知の初期化エラー |
オペレータをサポートするために上記以外のInitiate Log Stream関数ステータス コードが必要な場合は、追加定義します。
使用上の注意
Initiate Log Stream関数を定義する場合の注意事項は、以下を考慮してください。
対象 | 使用上の注意 |
---|---|
ステータス | 関数のステータスがPXSTC_Successの場合は、この関数によってオペレータのメッセージ カタログが正常に初期化されたことを示します。 |
関連項目 |
例 - Initiate Log Stream
#include <pxoper.h> PX_ErrorProc myerror; PX_Operator oprhandle; PX_LogHandle *loghandle; . . . PX_Initiate(PX_Operator oprhandle) { . . . . /* Initiate a public log stream for instance 75 of "mycomponent". */ PX_LogInit(oprhandle,"mycomponent", 75, NULL, myerror, &loghandle); . /* Initiate a private log stream named "myreport" for instance 75 of "mycomponent". */ PX_LogInit (oprhandle, "mycomponent", 75, "myreport", myerror, &loghandle); . . /* Initiate a private log stream named using user defined Teradata Parallel Transporter script attribute */ /* (PrivateLogName) for instance 75 of "mycomponent". */ PX_GetAttribute(oprhandle, "PrivateLogName", (PX_AttributeValue *)&value, &length); PX_LogInit (oprhandle, "mycomponent", 75, value, myerror, &loghandle); . . }