error_log
定義されたエラー処理ルーチンにエラーメッセージを送信する
説明
bool error_log(
string $message
,
int $message_type
= 0,
stringnull $destination
= null
,
stringnull $additional_headers
= null
)
パラメータ
-
message
-
ログに記録されるエラーメッセージ。
-
message_type
-
メッセージをどこに送るのかを指定します。以下の中から指定できます。
error_log ログタイプ
0 |
message は PHP のシステムロガーに送られ、
設定ディレクティブ error_log
の値に応じて、
オペレーティングシステムのシステムログ機構を使って保存されるか、
ファイルに保存されるかが決まります。
これがデフォルトのオプションです。
|
1 |
message は、destination
パラメータで指定されたアドレスに、電子メール
により送られます。このメッセージタイプの場合にのみ、
4 番目のパラメータである additional_headers
が使われます。
|
2 |
このオプションは存在しません。
|
3 |
message は destination
で指定されたファイルに追加されます。
明示的に指定しない限り、message の
最後には改行文字は追加されません。
|
4 |
message は、直接 SAPI
のログ出力ハンドラに送信されます。
|
-
destination
-
メッセージの送信先。その設定は、上で説明している
message_type
パラメータの値によります。
-
additional_headers
-
追加のヘッダ。message_type
パラメータが
1
に設定される場合に利用されます。
このメッセージタイプは、mail と同様に
内部関数を利用します。
戻り値
成功した場合に true
を、失敗した場合に false
を返します。
message_type
が0の場合、
エラーがロギング出来たかそうでないかに関わらず、この関数は常に true
を返します。
例
例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");
?>
注意
警告
error_log はバイナリセーフではありません。
message
に null 文字があれば、そこで切り詰められます。
ヒント
message
に null 文字を含めてはいけません。
message
の送り先はファイルやメール、そして syslog などになることもあります。
base64_encode や rawurlencode、addslashes
などの関数で適切に変換してから error_log に渡す必要があります。