php - Symfony2 - 使用 Monolog 设置不同的日志文件。

标签 php symfony monolog

在 config.yml 中我可以有类似的东西吗?

monolog:
    handlers:
        hand1:
            type: stream
            path: "%kernel.root_dir%/logs/symfony1.log"
            level: info
        hand2:
            type: stream
            path: "%kernel.root_dir%/logs/symfony2.log"
            action_level: info

我如何选择在每个时刻或每个 Controller 中,我可以将日志写入哪个处理程序或哪个文件?

谢谢

最佳答案

您可以使用 channel (Monolog 2.4+)

在 config.yml 中:

monolog:
    channels: [channel1, channel2]
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        channel1:
            type: stream
            path:  %kernel.logs_dir%/channel1.log
            channels: [channel1]

在 Controller 中:

$this->get('monolog.logger.channel1')->info("...");

关于php - Symfony2 - 使用 Monolog 设置不同的日志文件。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23676496/

相关文章:

javascript - 登录表单提交按钮不起作用

php - 如何在php邮件表单中添加<hr>?

javascript - 使用ajax在while循环中更新MySql数据库记录 - 仅更新第一行

php - Google Analytics 核心报告 API v4 PHP 库方法/函数引用

symfony - Symfony 2中的代码分离- Controller vs服务vs实体

mysql - Symfony2,加入 doctrine2 或 sql

symfony-2.3 - 创建 channel 并将 channel 的日志写入其他文件

php - 当 mysql 中存在 unicode 字符时,无法将条目存储为字符串

symfony - MonologBu​​ndle 内存泄漏(?)

php - 使用 MonologBu​​ndle 自定义 HandlerWrapper