Write to Log Stream - Parallel Transporter

Teradata® Parallel Transporter Operator プログラマ ガイド

Product
Parallel Transporter
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/igj1608578346674.ditamap
dita:ditavalPath
ja-JP/igj1608578346674.ditaval
dita:id
B035-2435
Product Category
Teradata Tools and Utilities

目的

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 入力 メッセージのカテゴリ。 有効なメッセージ カテゴリは以下のとおりです。
  • LOG_DEBUG
  • LOG_TRACE
  • LOG_INFO
  • LOG_WARNING
  • LOG_FATALERROR
  • LOG_USERERROR
messagenumber 入力 メッセージ カタログに含まれるメッセージ番号

メッセージ カタログは、Teradata PTスクリプトのDEFINE OPERATOR文の中で識別されます。

メッセージ番号によって記述されるメッセージは、Log View Clientからのアクセス時に形式列として使用されます。

... 入力 メッセージ(1..*)の引数。
このパラメータの変数リストは、メッセージ カタログから書式設定文字列に挿入される引数です。各引数は、型と値を伴って指定されます。この変数リストは、以下の方法でマクロ セットによって処理されます。
  • LOG_INT16(val) - 短整数値。 例: LOG_INT16(5)は、短整数値5を供給することに対応します。
  • LOG_INT32(val) - 長整数値。例: LOG_INT32(56)は、長整数値56を供給することに対応します。
  • LOG_INT64(val) - 長整数値。例: LOG_INT64(578)は、長整数値578を供給することに対応します。
  • LOG_CHAR(val) - 文字値。例: LOG_CHAR('g')は文字「g」を供給することに対応します。
  • LOG_STRING(val) - 文字値。例: LOG_STRING("mystring")は、文字列「mystring」を供給することに対応します。
  • LOG_FLOAT(val) - 32ビット浮動小数点値。例: LOG_FLOAT(5.4)は、浮動小数点5.4を供給することに対応します。
  • LOG_DOUBLE(val) - 64ビット浮動小数点値。例: LOG_FLOAT(5.7)は、浮動小数点5.7を供給することに対応します。

このリストは、常に、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);