PHP只記錄未捕獲的異常。我還想記錄我所有的抓到的的例外情況。PHP日誌捕獲異常
例1
try {
$book->getBook();
} catch(Exception $e) {
error_log($e);
$error = 'A problem occurred getting your book'
}
這工作得很好,但我不希望有繼續寫作error_log
所有的地方。
所以不是我已經延長了Exception
類,像這樣:
例2
class ExceptionLog extends Exception {
public function __construct($message, $code = 0, Exception $previous = null) {
error_log($this);
parent::__construct($message, $code, $previous);
}
}
那麼我可以這樣做:
try {
$book->getBook();
} catch(ExceptionLog $e) {
$error = 'A problem occurred getting your book'
}
這裏的一個問題是,被記錄的消息稍有不同。在第一示例的日誌條目是:
[01-Jan-2016 19:24:51 Europe/London] PHP Fatal error: Uncaught exception 'Exception' with message 'Could not get book' in book.php:39
在第二個例子中省略了消息:
[01-Jan-2016 19:24:51 Europe/London] exception 'ExceptionLog' in book.php:39
是來訪問父Exception
類的屬性和構建錯誤日誌的唯一方式字符串手動?