请问,是否有一种快速方法可以在an_other_service服务中提供monolog服务,而无需将monolog服务引用作为参数传递给控制器?
我确实创建了一个自定义的monolog通道,该通道写入特定的日志文件。通常在控制器中我使用
获得我的monolog自定义服务$this->logger = $this->container->get('monolog.logger.test');
现在,当我调用an_other_service服务的方法时,我已经将自定义日志服务传递给记录器的实例作为参数。 在an_other_service服务中是否有一种明确的方式来访问自定义monolog?和正常的独白服务?
答案 0 :(得分:1)
在您的服务中注入服务。
class ServiceCustom
{
private $logger;
public function setLogger(YourLoggerClass $logger)
{
$this->logger= $logger;
}
// ...
}
services:
service_custom:
class: Namespace/ServiceCustom
arguments: []
calls:
- [setLogger, ["@monolog.logger.test"]]