我最近读到了PSR-3,并对如何在web应用程序或网站上使用记录器实现的最佳方法感兴趣。我理解记录器是如何定义的,以及如何按照PSR-3实现它们,但是如何在应用程序中访问/引用它们以满足各种日志记录需求,如捕获的异常、显著的事件等?
我想到了这三个选择。还有别的吗?哪一种是最好的方法?
$logger->debug('foo')Logger::debug('foo')$app->getLogger()->debug('foo')我的考虑之一是将引用记录器所需的代码保持在最低限度。例如,上面的选项3对于整个应用程序中每个适当的捕获异常、值得注意的事件等来说,检索这样的记录器似乎会变得相当繁琐。
发布于 2016-10-27 03:39:31
我更喜欢通过对记录器的依赖注入或您的第三个选项来获得记录器。
DI::getInstance()->get('logger')很容易将默认的记录器替换为用于单元测试的虚拟工具,或者一次用于生产环境的高性能记录器。
https://stackoverflow.com/questions/40275605
复制相似问题