在 PHP 中,當程序拋出異常時,可以使用 try-catch 語句來捕獲并處理異常。為了記錄異常日志,你可以在 catch 語句中編寫代碼將異常信息寫入日志文件。以下是一個簡單的示例:
<?php
function logException(\Throwable $exception) {
// 設置日志文件路徑
$logFilePath = 'exceptions.log';
// 獲取異常信息
$errorMessage = $exception->getMessage();
$errorFile = $exception->getFile();
$errorLine = $exception->getLine();
// 創建日志條目
$logEntry = date('Y-m-d H:i:s') . ' - ' . $errorMessage . ' in ' . $errorFile . ' on line ' . $errorLine . PHP_EOL;
// 將日志條目寫入文件
file_put_contents($logFilePath, $logEntry, FILE_APPEND);
}
try {
// 你的代碼,可能拋出異常
throw new Exception('An error occurred');
} catch (\Throwable $exception) {
// 記錄異常日志
logException($exception);
// 處理異常,例如顯示錯誤頁面或返回錯誤信息
echo 'An error occurred. Please try again later.';
}
?>
在這個示例中,我們定義了一個名為 logException
的函數,該函數接受一個 Throwable
對象作為參數。這個函數將異常信息(包括錯誤消息、文件名和行號)寫入名為 exceptions.log
的日志文件。
在 try-catch 語句中,我們嘗試執行可能拋出異常的代碼。如果發生異常,catch 語句將捕獲異常并調用 logException
函數記錄日志。然后,你可以根據需要處理異常,例如顯示錯誤頁面或返回錯誤信息。