我正在尝试在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而不是控制台。为什么呢?
答案 0 :(得分:7)
事实证明,“console”实际上并不意味着控制台,它意味着“浏览器的javascript控制台”。
如果你来到这里是因为你有同样的问题,这里是如何做到的:
output:
type: stream
path: php://stdout
level: info