【发布时间】:2025-12-27 02:00:06
【问题描述】:
我正在尝试在 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 而不是控制台。为什么?
【问题讨论】:
-
许多天后,我仍然完全迷失了方向,只是在我看来控制台处理程序根本不起作用。这可能吗?