在 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
函数记录日志。然后,你可以根据需要处理异常,例如显示错误页面或返回错误信息。