Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編


dc_log_audit_print

〈このページの構成〉

名称

監査ログの出力

形式

ANSI C ,C++の形式

#include <dclog.h>
int  dc_log_audit_print(char *msgid,char *compid,DCLONG ctgry,
                        DCLONG result,DCLONG op,char *msg,DCLONG flags)

K&R版 C の形式

#include <dclog.h>
int  dc_log_audit_print(msgid,compid,ctgry,result,op,msg,flags)
char      *msgid;
char      *compid;
DCLONG    ctgry;
DCLONG    result;
DCLONG    op;
char      *msg;
DCLONG    flags;

機能

引数に設定した情報に,OpenTP1でヘッダ情報,通番,日時,発生プログラム名,発生プロセスID,発生場所,サブジェクト識別情報,オブジェクト情報,オブジェクトロケーション情報,リクエスト送信元ホスト,ロケーション識別情報を付けて,監査ログファイルに出力します。出力する監査ログの発生プログラム名はOpenTP1です。監査ログの出力処理でエラーが発生した場合,エラーメッセージを標準エラー出力およびsyslogに出力します。

OpenTP1では,dc_log_audit_print関数で使うメッセージID用に,34000から34999までの範囲の番号を割り当てています。UAPから出力するメッセージIDの番号には,34000から34999までの範囲の値を付与してください。

監査ログの出力項目については,マニュアル「OpenTP1 プログラム作成の手引」を参照してください。

UAPで値を設定する引数

●msgid

監査ログごとに付けられる識別子(メッセージID)を設定します。「KFCAn1n2n3n4n5-x」の形式(11文字)で,最後にヌル文字を付けて設定します。UAPから出力する通番(n1n2n3n4n5の部分)には,34000から34999までの間の数値を設定します。xの部分には,出力する監査ログの内容によってメッセージの種類(「E」,「W」,または「I」)を指定してください。

●compid

dc_log_audit_print関数を呼び出したUAPを識別する任意の値(要求元プログラムID)を設定します。使用できる文字は,数字,英字,または記号の2文字で,最後はヌル文字で終わらせて設定します。監査ログには,先頭にアスタリスク(*)が付いて,「*AA」の形式で出力されます(AAはcompidで指定した文字列です)。

●ctgry

監査ログに出力する「監査事象種別」の値を設定します。次のどれかを設定します。

DCLOG_CTG_STARTSTOP…「起動・停止」の監査事象を表します。

DCLOG_CTG_AUTH…「識別・認証」の監査事象を表します。

DCLOG_CTG_ACCESS…「アクセス制御」の監査事象を表します。

DCLOG_CTG_CONFIG…「構成定義」の監査事象を表します。

DCLOG_CTG_FAIL…「障害」の監査事象を表します。

DCLOG_CTG_LINK…「リンク状態」の監査事象を表します。

DCLOG_CTG_EXTERNAL…「外部サービス」の監査事象を表します。

DCLOG_CTG_CONTENT…「重要情報アクセス」の監査事象を表します。

DCLOG_CTG_MAINTAIN…「保守」の監査事象を表します。

DCLOG_CTG_ANORMALY…「異常事象」の監査事象を表します。

DCLOG_CTG_MANAGE…「管理動作」の監査事象を表します。

監査事象種別の詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。

●result

監査ログに出力する「監査事象結果」の値を設定します。次のどれかを設定します。

DCLOG_RES_SUCCESS…事象の成功を表します。

DCLOG_RES_FAIL…事象の失敗を表します。

DCLOG_RES_OCCUR…成功または失敗の分類がない事象の発生を表します

●op

監査ログに出力する「動作情報」の値を設定します。ctgryに指定した「監査事象種別」と対応した,次の予約語のどれかを設定します。NULLを指定した場合はこの項目は出力されません。

表2‒1 監査事象種別と予約語の対応

監査事象種別

予約語

意味

DCLOG_CTG_STARTSTOP

(起動・停止)

DCLOG_OP_START

開始・起動

DCLOG_OP_STOP

終了・停止

DCLOG_CTG_AUTH

(識別・認証)

DCLOG_OP_LOGIN

ログイン

DCLOG_OP_LOGOUT

ログアウト

DCLOG_OP_LOGON

ログオン

DCLOG_OP_LOGOFF

ログオフ

DCLOG_OP_DISABLE

アカウントの無効化

DCLOG_CTG_ACCESS

(アクセス制御)

DCLOG_OP_ENFORCE

実施

DCLOG_CTG_CONFIG

(構成定義)

DCLOG_OP_REFER

参照

DCLOG_OP_ADD

追加

DCLOG_OP_UPDATE

更新

DCLOG_OP_DELETE

削除

DCLOG_CTG_FAIL(障害)

DCLOG_OP_OCCUR

発生

DCLOG_CTG_LINK

(リンク状態)

DCLOG_OP_UP

リンク活性

DCLOG_OP_DOWN

リンク非活性

DCLOG_CTG_EXTERNAL

(外部サービス)

DCLOG_OP_REQ

要求

DCLOG_OP_RES

応答

DCLOG_OP_SEND

発信

DCLOG_OP_RECV

受信

DCLOG_CTG_CONTENT

(重要情報アクセス)

DCLOG_OP_REFER

参照

DCLOG_OP_ADD

追加

DCLOG_OP_UPDATE

更新

DCLOG_OP_DELETE

削除

DCLOG_CTG_MAINTAIN

(保守)

DCLOG_OP_INSTALL

インストール

DCLOG_OP_UNINSTALL

アンインストール

DCLOG_OP_UPDATE

更新(アップデート)

DCLOG_OP_BACKUP

バックアップ

DCLOG_OP_MAINTAIN

保守作業

DCLOG_CTG_ANORMALY

(異常事象)

DCLOG_OP_OCCUR

発生

DCLOG_CTG_MANAGE

(管理動作)

DCLOG_OP_INVOKE

(管理者の)呼び出し

DCLOG_OP_NOTIFY

(管理者への)通知

●msg

監査ログに出力する「自由記述」の値を設定した領域のアドレスを指定します。NULLを指定した場合はこの項目を出力しません。

使用できる文字は数字,英字,記号,スペース,引用符("),およびコンマ(,)です。最大1024文字で,最後はヌル文字で終わらせて設定します。このヌル文字は文字列の長さに数えません。

msgの表示内容には指定した情報の先頭と末尾に引用符(")が付与されます。また,文字列中に引用符(")がある場合は,その文字の前に引用符(")が付与されます。

●flags

DCNOFLAGSを設定します。

リターン値

リターン値

リターン値(数値)

意味

DCLOG_AUDIT_OFF

1

監査ログの出力が無効になっています。次に示すことが考えられます。

  • ログサービス定義のlog_audit_outオペランドにNを指定しているか,またはlog_audit_outオペランドの指定がありません。

  • ユーザサービス定義,またはユーザサービスデフォルト定義のどちらかでlog_audit_out_suppressオペランドにYが指定されています。

次のどれかの定義ファイルで,msgidで指定したメッセージIDがlog_audit_messageオペランドに指定されていません。

  • ログサービス定義

  • ユーザサービス定義

  • ユーザサービスデフォルト定義

規定された範囲外のメッセージを指定しています。

DC_OK

0

正常に終了しました。

DCLOGER_PARAM_ARGS

-1900

引数に設定した値が間違っています。

DCLOGER_DEFFILE

-1904

定義解析に失敗しました。

DCLOGER_PROTO

-1999

dc_rpc_open関数が発行されていません。

DCLOGER_FATAL

-1997

上記以外のエラーが発生しました。

注意事項

dc_rpc_mainloop関数が終了したあとでdc_log_audit_print関数を呼び出した場合,リクエスト送信元ホストには,最後に要求したdc_rpc_call関数またはdc_rpc_call_to関数発行元ノードのアドレスが取得されます。