相关疑难解决方法(0)

PHP中记录自定义异常的最佳实践

我有一个自定义异常(在可能的其他自定义异常中进一步扩展)。我的项目需要记录发生的所有 customExceptions(及其所有后代)。我有一个可以记录 customException(和其他任何东西)的记录器。这样做的一种方法是在如下处理异常时显式记录异常。

try{
    //some exception occur
}
catch(customeException $e)
{
     $log->logException($e);
     $e->showMessage(); // or do anything that we have to do with the error.
}
Run Code Online (Sandbox Code Playgroud)

由于我们正在记录所有 customExceptions,我能想到的另一种方式是更新 customException 构造函数并在构造函数内部记录异常。通过这种方式,它确保记录所有 customException。但是,如果我们走这条路,我的问题是:

  1. 如何将记录器注入 customException?
  2. 会不会违反 SRP 原则?
  3. 从 OOP 的角度来看,它会被认为是不好的做法还是对此的最佳做法是什么?

php logging exception-handling custom-exceptions exception-logging

6
推荐指数
1
解决办法
1144
查看次数