有什么方法可以在symfony2的monolog中定义我的自定义级别。
我这样做
$logger->err('An error occurred');
然后在数据库中我添加了这个。
通道app
,电平500
有什么办法可以做到这一点
吗$logger->log("message",(channel),(level)
$logger->log("Object with is 212 deleted",'DELETE',NORMAL);
这样我就可以在数据库中有单独的东西进行报告和查看
随着 MonologBundle 的 2.4 及更高版本(请注意,MonologBundle 的发布周期不再与 symfony 同步),您现在可以通过配置非常简单地定义新通道,而无需定义服务。
monolog:
channels: ["my_channel"]
现在只需在控制器中获取为新通道自动创建的记录器:
$logger = $this->get('monolog.logger.my_channel');
$logger->info('somelogcontent');
消息级别通过使用适当的方法进行定义。查看LoggerInterface
以查看所有日志记录方法(确实由 monolog 实现)。这里有一些需要提及的级别:
$logger->info('Info message for interesting things');
$logger->warning('Some application warnings, but the application works');
$logger->error('Error which can influence the application flow/output');
我知道老问题,但应该提到MonologBundle
~2.4
的这个新功能。
根据 Monolog 文档,频道与记录器相关联,基本上记录器的名称是您的频道。这意味着您无法在给定的记录器中指定其他通道,但可以使用不同的通道创建新的记录器。
级别只是数字和常量,因此您可以创建自己的级别。使用正确的格式化程序,您将获得与自定义级别对应的字符串。