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’) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |