我正在开展我的第一个Symfony项目。我想知道从我的代码中的任何地方写入日志消息的最佳/推荐方法是什么。
到目前为止,我使用的Monolog在控制器中使用效果很好:
public function indexAction() {
$logger = $this->get('logger');
$logger->info('I just got the logger');
$logger->error('An error occurred');
// ...
}
但是如何从我的项目中的任何classe /代码中使用此代码?例如,Doctrine实体类不能使用$this->get('logger')
来创建记录器。如何在这些课程中访问该服务?或者在这些情况下推荐使用其他什么方法来记录消息?
编辑:当然我可以在任何控制器中创建记录器并将其传递给所有其他类。但这将非常麻烦。一定有更好的方法。
答案 0 :(得分:1)
IMO,第一种方法可能是为特定操作创建事件监听器,以便仅记录您已决定的内容。
查看本章:http://symfony.com/doc/current/cookbook/event_dispatcher/event_listener.html
希望它会对你有所帮助。