syslog

(PHP 3, PHP 4 )

syslog -- システムログのメッセージを生成する

説明

int syslog ( int priority, string message)

syslog() はシステムログが出力するログメッセージを 生成します。 priority は、容易さ(facility)と レベル(level)の組み合わせで、その値については、次節で説明します。 残りの引数は送信するメッセージです。ただし、文字 %m は、 errno の値に 対応するエラーメッセージ文字列(strerror)に置換されます。

表 1 syslog() の優先順位 (降順)

定数 説明
LOG_EMERG システムは使用不可
LOG_ALERT アクションを直ちにおこす必要がある
LOG_CRIT 致命的な条件
LOG_ERR エラーを発生する条件
LOG_WARNING 警告を発生する条件
LOG_NOTICE 通常の動作だが、特徴的な条件
LOG_INFO 情報を与えるメッセージ
LOG_DEBUG デバッグ用のメッセージ


例 1 syslog() の使用例

 ?php
define_syslog_variables();
// syslogをオープンし、プロセスIDをインクルードし、標準エラー出力にも
// ログを出力します。そして、ユーザ定義のログ記録機構を使用します。
openlog("myScripLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// 何らかのコード

if (authorized_client()) {
    // 何かをする
} else {
    // クライアントは未認証!
    // ログを記録する
    $access = date("Y/m/d H:i:s");
    syslog(LOG_WARNING,"Unauthorized client: $access $REMOTE_ADDR
($HTTP_USER_AGENT)");
}

closelog();
? 
ユーザ定義のログハンドラの設定に関する情報については、UNIXマニュ アルの syslog.conf (5) を参照下さい。 syslog の facility と option に関するより詳細な情報は、 UNIXマシンの syslog (3) にあります。

Windows NTでは、syslog サービスはイベントログを使用してエミュレー トされます。

define_syslog_variables() , openlog() , closelog() も参照下さい。