1

我正在尝试在 Symfony2 中设置一个控制台命令,以便它登录到我的开发环境中的控制台,但登录到 prod 中的日志文件。

所以我的 config_prod.yml 有这个:

monolog:
    handlers:
        payment:
            type:  stream
            path:  %kernel.logs_dir%/payment.log
            channels: payment

而我的 config_dev.yml 使用这个:

monolog:
    handlers:
        console:
            type:   console
            channels: payment

并且服务在 services.yml 中定义如下:

payment_manager:
    class:      My\Bundle\Service\PaymentManager
    arguments:  [@doctrine.orm.entity_manager, @logger]
    tags:
        - { name: monolog.logger, channel: payment }

令我惊讶的是,这并没有蹲下。输出到 app/logs/dev.log 而不是控制台。为什么?

4

1 回答 1

7

事实证明,“控制台”实际上根本不是控制台,而是“浏览器的 javascript 控制台”。

如果您来这里是因为您有同样的问题,请按以下步骤操作:

    output:
        type:       stream
        path:       php://stdout
        level:      info
于 2014-06-01T15:09:23.473 回答