Php/docs/function.syslog

提供:Dev Guides
< Php
移動先:案内検索

syslog

(PHP 4, PHP 5, PHP 7)

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


説明

syslog ( int $priority , string $message ) : bool

syslog() はシステムログが出力するログメッセージを生成します。

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


パラメータ

priority

priority は、容易さ (facility) とレベル (level) の組み合わせです。以下の値が使用できます。

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

残りの引数は送信するメッセージです。ただし、文字 %m は、errno の値に対応するエラーメッセージ文字列 (strerror) に置換されます。


返り値

成功した場合に true を、失敗した場合に false を返します。


例1 syslog() の使用例

<?php// syslogをオープンし、プロセスIDをインクルードし、標準エラー出力にも// ログを出力します。そして、ユーザー定義のログ記録機構を使用します。openlog("myScriptLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);// 何らかのコードif (authorized_client()) {    // 何かをする} else {    // クライアントは未認証!    // ログを記録する    $access = date("Y/m/d H:i:s");    syslog(LOG_WARNING, "Unauthorized client: $access {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");}closelog();?>

注意

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

注意:

Windows 環境では、openlog()facility パラメータに LOG_LOCAL0 から LOG_LOCAL7 までを使用することはできません。

参考

  • openlog() - システムのロガーへの接続をオープンする
  • closelog() - システムログへの接続を閉じる