我想登录我的控制器。阅读文档后,我在函数中注入了 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']
谢谢大家。