5

有什么方法可以在 symfony2 的独白中定义我的自定义级别。

我这样做

$logger->err('An error occurred');

然后在数据库中我添加了这个。

通道是app,电平是500

有什么办法可以做到这一点

$logger->log("message",(channel),(level)
$logger->log("Object with is 212 deleted",'DELETE',NORMAL);

这样我就可以在数据库中有单独的东西用于报告和查看

4

2 回答 2

13

使用 MonologBu​​ndle 的 2.4 及更高版本(注意,MonologBu​​ndle 的发布周期不再与 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我知道老问题,但应该提到这个新功能。

于 2013-11-06T19:12:32.727 回答
6

根据Monolog 文档,频道与记录器相关联,基本上记录器的名称就是您的频道。这意味着您不能在给定的记录器中指定另一个通道,但您可以创建具有不同通道的新记录器。

级别只是数字和常量,因此您可以创建自己的级别。使用正确的格式化程序,您将获得与您的自定义级别相对应的字符串。

于 2012-08-17T12:52:34.620 回答