php - 如何在 symfony2 的独白日志记录中定义 channel 和级别

标签 php symfony doctrine-orm

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

我做这个

$logger->err('发生错误');

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

channel 是app,级别是500

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

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

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

最佳答案

使用 MonologBu​​ndle 的 2.4 及更高版本(注意,MonologBu​​ndle 的发布周期不再与 symfony 同步),您现在可以通过配置非常简单地定义新 channel ,而无需定义服务。

monolog:
    channels: ["my_channel"]

现在只需在您的 Controller 中获取为新 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');

我知道老问题了,但是应该提到 MonologBu​​ndle ~2.4 中的这个新特性。

关于php - 如何在 symfony2 的独白日志记录中定义 channel 和级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11945880/

相关文章:

php - 在 PHP 中计算文本差异

php - cURL 错误 60 - SSL 证书问题 - 无法获取本地颁发者

php - 在应该抛出 403 时抛出 404 响应

doctrine-orm - Doctrine 2 ORM 使用可恶的 CamelCase 创建类

php - 尝试使用表单和 php 进行 INSERT INTO 查询,但数据库未更新记录

php - 用于大学 Google 托管电子邮件的 lightopenID

phpredis Redis::subscribe() 期望参数 2 是一个有效的回调

php - 如何运行 symfony 项目

orm - 为什么需要在 ORM 中分离和合并实体?

mysql - Mysql 中的多列 IN 子句