关键词:decorates. 比如覆盖系统里logger.factory服务.
以前的调用方式是
\Drupal::logger('my_channel')->notice('hello world');
比如我们想修改日志的写入方式, 定义新的服务
services:
my_log:
parent: logger.factory
decorates: logger.factory
class: Drupal\test_code\Mylog
定义Mylog文件和覆盖getChannel代码. 加一个打印信息
<?php
namespace Drupal\test_code;
use Drupal\Core\Logger\LoggerChannelFactory;
class Mylog extends LoggerChannelFactory{
public function get($channel)
{
dpm('run my loger');
return parent::get($channel); // TODO: Change the autogenerated stub
}
}