PHP日誌記錄方法

zh515858237發表於2015-05-29

PHP裡提供了一個error_log(),能幫助你快捷的將日誌輸出到指定的檔案裡。

這個函式的介面描述如下:

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

其中第一個引數是要輸出的日誌,第二個引數是輸出的方式,一共有四種方式,分別是:

error_log() 日誌型別
0 message 傳送到 PHP 的系統日誌,使用
作業系統的日誌機制或者一個檔案,取決於
error_log 指令設定了什麼。
這是個預設的選項。
1 message 傳送到引數 destination
設定的郵件地址。
第四個引數 extra_headers 只有在這個型別裡才會被用到。
2 不再是一個選項。
3 message 被髮送到位置為 destination 的檔案裡。
字元 message 不會預設被當做新的一行。
4 message 直接傳送到 SAPI 的日誌處理程式中。

我們最常用的是輸出到日誌檔案裡,就是3.

下面是一個用法的例子:

<?php
// 如果無法連線到資料庫,傳送通知到伺服器日誌
if (!Ora_Logon($username, $password)) {
    error_log("Oracle database not available!", 0);
}

// 如果用盡了 FOO,通過郵件通知管理員
if (!($foo = allocate_new_foo())) {
    error_log("Big trouble, we're all out of FOOs!", 1,
               "operator@example.com");
}

// 呼叫 error_log() 的另一種方式:
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
?>

相關文章