2013-07-29 42 views
1

message_type如何測試如何測試error_log中以0

error_log($message); 

與普遍使用的默認目標參數?測試不會總是在我的開發機器上運行,我不知道其他開發人員將其php.ini文件配置設置爲什麼。

有沒有辦法從php.ini文件中訪問error_log變量?

+0

你是什麼意思*訪問error_log變量*? –

+0

我指的是像ini_set()和ini_get()這樣的函數來操作php.ini文件。我只是在問之前不知道他們存在。 –

回答

0

該消息通常會轉到apache錯誤日誌。如果錯誤日誌保存在默認目錄中(例如/ var/log/httpd/error_log或/var/log/apache2/error.log),則可以直接尾部檢查該消息是否已記錄:

尾/var/log/apache2/error.log

有時你可能需要sudo訪問讀取錯誤日誌。

+0

這對其他開發人員更改其默認日誌不起作用 –

+0

即使他們已更改默認日誌位置,您的消息也會記錄在此處。我的意思是,如果測試適用於您的默認位置,則它也適用於其默認位置。但是,如果您想確保所有開發人員的消息都將轉到您需要在error_log中指定輸出文件的同一個日誌文件中。 – Vasilis

0

這裏的error_log不是你的代碼,而是一個內置的庫,所以你不應該測試這個,因爲庫的測試會做到這一點。但是,如果日誌是您的內部函數,那麼您可以通過調用它來測試常規代碼的日誌,然後測試返回值是否讓您繼續前進。

如果您需要測試內容,那麼最好的方法是在臨時目錄中爲您的測試創建一個日誌,並希望通過依賴注入將它傳遞到日誌例程。在寫入之後,您可以打開並閱讀日誌,以確保它只包含剛剛寫入的行。

這些測試應該隔離到您的日誌類測試,但不是主應用程序,它仍然會簡單地模擬測試的日誌功能。

相關問題