如何处理异常日志


How to handle exception logging

我有一个复杂的web应用程序,我正在添加错误日志记录,我希望能够记录异常:

try{
//typically mysql queries but can involve PayPal api, Facebook api amongst others
        }
        catch($e){
            logger($e);
        }

假设$e将始终是一个字符串是否安全,如果不是,是否有一个php函数我可以调用它将始终给我'$e'的字符串输出,以便我的日志记录器可以将结果输出存储在我的日志表中?

这不是c++,这是php这就是为什么你需要抛出异常对象或对象的实例,该对象是异常

的子类

From PHP manual

被抛出的对象必须是Exception类的实例或Exception的子类。尝试抛出一个不属于PHP的对象将导致PHP致命错误。

所以这就是为什么你总是可以访问Exception类方法,例如:

  • final public string getMessage (void)//获取异常消息
  • final public string getTraceAsString (void)//获取堆栈跟踪作为字符串

这就是为什么你可以使用catch(Exception $e){ echo $e->getMessage();}来获取异常或跟踪消息,这些消息总是字符串。

如果你想传递Exception对象,你可以扩展Exception类并覆盖__toString()方法来满足你的需要。

您也可以对设置异常处理程序

感兴趣