来自monolog.xml:
<service id="monolog.logger" parent="monolog.logger_prototype" public="false">
<argument index="0">app</argument>
</service>
<service id="logger" alias="monolog.logger" />
<service id="monolog.logger_prototype" class="%monolog.logger.class%" abstract="true">
<argument /><!-- Channel -->
</service>
如何在Yaml中完成相同的第0个参数覆盖?
答案 0 :(得分:3)
我的同事创建了a bundle that allows you to easily convert from XML to YML,它提出了:
services:
monolog.logger:
public: false
arguments: { index_0: app }
monolog.logger_prototype:
class: %monolog.logger.class%
arguments: ['']
logger: @monolog.logger
永远不会猜到这一点。
答案 1 :(得分:0)
使用自定义渠道定义记录器作为服务方式之一:
# app/config/config.yml
monolog:
channels: [custom_channel]
在控制器中时:
$logger = $this->get('monolog.logger.custom_channel')
;
或定义服务时:
services:
app.logger.custom_channel:
parent: monolog.logger.custom_channel