php – Symfony 2.1 – 在控制器中切换Monolog通道

前端之家收集整理的这篇文章主要介绍了php – Symfony 2.1 – 在控制器中切换Monolog通道前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想登录与通常的dev.log或prod.log不同的文件

我知道这可以用不同的通道完成,我在几个服务中使用它,但我不太清楚在控制器中切换Monolog通道.

在服务中,您只需通过服务定义中的tags属性定义通道,但是如何在控制器中执行此操作,或者在特定操作中更好?

我知道可能的解决方案是:Symfony 2 : Log into a specific file

但是,仅仅为了记录到自定义文件来定义两个新服务似乎有些过分.

唯一的方法是定义 controller as a service并使用自定义通道注入自定义记录器.

由于频道是自动创建的,目前没有其他办法,但这是一个有趣的请求,你不是第一个,所以我创建了一个issue on MonologBundle,允许在捆绑配置级别定义频道.这样你就可以使用$this-> get(‘monolog.logger.mychannel’)从控制器中获取正确的记录器(如果通道存在,你已经可以这样做了,但如果你想为控制器设置自定义通道则不行没有别的用途).

更新:

从symfony / monolog-bundle 2.4.0开始,您可以将其他渠道定义为:

monolog:
    channels: ["foo","bar"]

然后您可以将其检索为$this-> get(‘monolog.logger.mychannel’)

猜你在找的PHP相关文章