【发布时间】:2016-10-27 03:25:17
【问题描述】:
我最近阅读了PSR-3,并有兴趣了解在 Web 应用程序或网站上实现记录器的最佳方法。我了解如何定义记录器以及如何根据 PSR-3 实现它们,但是如何在应用程序中访问/引用它们以满足各种记录需求,例如捕获的异常、显着事件等?
我想到了这三个选项。还有吗?哪种方法最好?
- 全局对象 -
$logger->debug('foo') - 全局静态实例 -
Logger::debug('foo') - 通过某种方法 -
$app->getLogger()->debug('foo') - ...等等...
我的考虑之一是将引用记录器所需的代码保持在最低限度。例如,上面的选项 3 似乎在整个应用程序中为每个适当的捕获异常、显着事件等检索记录器会变得相当乏味。
【问题讨论】: