Php/docs/function.error-log

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

error_log

(PHP 4, PHP 5, PHP 7)

error_log定義されたエラー処理ルーチンにエラーメッセージを送信する


説明

error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) : bool

エラーメッセージを Web サーバーのエラーログあるいはファイルに送ります。


パラメータ

message

ログに記録されるエラーメッセージ。

message_type

メッセージをどこに送るのかを指定します。以下の中から指定できます。

error_log() ログタイプ
0 message は、オペレーティング・システム

のシステムログのメカニズムまたはファイルのいずれかを使って PHP のシステム・ロガーに送られます。どちらが使われるかは、 設定ディレクティブ error_log の内容により決定されます。これはデフォルトのオプションです。

1 message は、destination パラメータで指定されたアドレスに、電子メール

により送られます。このメッセージタイプの場合にのみ、 4 番目のパラメータである extra_headers が使われます。

2 このオプションは存在しません。
3 messagedestination で指定されたファイルに追加されます。

明示的に指定しない限り、message の 最後には改行文字は追加されません。

4 message は、直接 SAPI

のログ出力ハンドラに送信されます。

destination

メッセージの送信先。その設定は、上で説明している message_type パラメータの値によります。

extra_headers

追加のヘッダ。message_type パラメータが 1 に設定される場合に利用されます。 このメッセージタイプは、mail() と同様に 内部関数を利用します。


返り値

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


注意

警告 error_log() はバイナリセーフではありません。 message に null 文字があれば、そこで切り詰められます。


ヒント message に null 文字を含めてはいけません。 message の送り先はファイルやメール、そして syslog などになることもあります。 base64_encode()rawurlencode()addslashes() などの関数で適切に変換してから error_log() に渡す必要があります。


例1 error_log() の例

<?php// データベースに接続できない場合、// サーバーログを通してエラーを通知する。if (!Ora_Logon($username, $password)) {    error_log("オラクルのデータベースが使用できません!", 0);}// FOO に失敗したら、管理者に email で通知するif (!($foo = allocate_new_foo())) {    error_log("大変です。FOO に失敗しました!", 1,               "operator@example.com");}// これ以外の error_log() のコール方法:error_log("大変だ!", 3, "/var/tmp/my-errors.log");?>