注入记录器接口



我想登录我的控制器。阅读文档后,我在函数中注入了 loggerInterface,就像它写的那样:

use PsrLogLoggerInterface;
class MyDefaultController extends Controller {
public function myAction(Request $request, LoggerInterface $logger) {
....
$logger->error('blabla');
}

它曾经有效,但显然我已经更改了一些东西(不知道到底是什么(,现在我有这个错误:

Argument 2 passed to myAction must implement PsrLogLoggerInterface, none given, called in myProject/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php on line 195

就像界面不像以前那样自动注入一样。

你能帮忙吗?

命令行调试:容器记录器:

// This service is an alias for the service monolog.logger
Information for Service "monolog.logger"
========================================
---------------- -------------------------------------------------------    
Option           Value
---------------- ------------------------------------------------------- 
Service ID       monolog.logger
Class            SymfonyBridgeMonologLogger
Tags             -
Calls            pushProcessor, useMicrosecondTimestamps, pushHandler, 
pushHandler, pushHandler
Public           no
Synthetic        no
Lazy             no
Shared           yes
Abstract         no
Autowired        no
Autoconfigured   no
---------------- -------------------------------------------------------

不知道我已经安装了Monolog,我以为你必须使用作曲家才能拥有它。

在 service.yml 中找到了我必须做的事情

_defaults:
autowire: true
autoconfigure: true
public: false
AppBundleController:
resource: '../../Controller'
public: true
tags: ['controller.service_arguments']

谢谢大家。

最新更新