为什么控制器方法在symfony2中被调用两次

问题描述:

我遇到了一个问题,我的控制器操作被调用两次,我不知道为什么。为什么控制器方法在symfony2中被调用两次

这是我为测试所做的一个简单方法。

/** 
    * @param Request $request 
    * @return Response 
    * @Route("/star-remote-control") 
    */ 
    public function starRemoteControlAction(Request $request) 
    { 
    $this->container->get('monolog.logger.always')->info('ClientIP:' . $request->getClientIp() . ' ' . $request->getContent()); 

    return new Response("hello"); 
    } 

这里是日志。

[2017-01-23 09:56:11] request.INFO: Matched route "app_default_starremotecontrol". {"route_parameters":{"_controller":"AppBundle\\Controller\\DefaultController::starRemoteControlAction","_route":"app_default_starremotecontrol"},"request_uri":"http://127.0.0.1:8000/star-remote-control"} [] 
[2017-01-23 09:56:11] security.DEBUG: Read existing security token from the session. {"key":"_security_main"} [] 
[2017-01-23 09:56:11] doctrine.DEBUG: SELECT t0.username AS username_1, t0.username_canonical AS username_canonical_2, t0.email AS email_3, t0.email_canonical AS email_canonical_4, t0.enabled AS enabled_5, t0.salt AS salt_6, t0.password AS password_7, t0.last_login AS last_login_8, t0.locked AS locked_9, t0.expired AS expired_10, t0.expires_at AS expires_at_11, t0.confirmation_token AS confirmation_token_12, t0.password_requested_at AS password_requested_at_13, t0.roles AS roles_14, t0.credentials_expired AS credentials_expired_15, t0.credentials_expire_at AS credentials_expire_at_16, t0.id AS id_17 FROM fos_user t0 WHERE t0.id = ? LIMIT 1 [1] [] 
[2017-01-23 09:56:11] security.DEBUG: User was reloaded from a user provider. {"username":"scottgutman","provider":"FOS\\UserBundle\\Security\\UserProvider"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Uecode\Bundle\QPushBundle\EventListener\RequestListener::onKernelRequest". {"event":"kernel.request","listener":"Uecode\\Bundle\\QPushBundle\\EventListener\\RequestListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Bundle\\FrameworkBundle\\EventListener\\SessionListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\FragmentListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\TranslatorListener::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\TranslatorListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Component\\Security\\Http\\Firewall::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\AsseticBundle\EventListener\RequestListener::onKernelRequest". {"event":"kernel.request","listener":"Symfony\\Bundle\\AsseticBundle\\EventListener\\RequestListener::onKernelRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController". {"event":"kernel.controller","listener":"Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController". {"event":"kernel.controller","listener":"Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController". {"event":"kernel.controller","listener":"Sensio\\Bundle\\FrameworkExtraBundle\\EventListener\\ControllerListener::onKernelController"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController". {"event":"kernel.controller","listener":"Sensio\\Bundle\\FrameworkExtraBundle\\EventListener\\ParamConverterListener::onKernelController"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelController". {"event":"kernel.controller","listener":"Sensio\\Bundle\\FrameworkExtraBundle\\EventListener\\HttpCacheListener::onKernelController"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener::onKernelController". {"event":"kernel.controller","listener":"Sensio\\Bundle\\FrameworkExtraBundle\\EventListener\\SecurityListener::onKernelController"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController". {"event":"kernel.controller","listener":"Sensio\\Bundle\\FrameworkExtraBundle\\EventListener\\TemplateListener::onKernelController"} [] 
[2017-01-23 09:56:11] always.INFO: ClientIP:127.0.0.1 [] [] 
[2017-01-23 09:56:11] always.INFO: ClientIP:127.0.0.1 [] [] 
[2017-01-23 09:56:11] security.DEBUG: Stored the security token in the session. {"key":"_security_main"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse". {"event":"kernel.response","listener":"Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\Security\Http\RememberMe\ResponseListener::onKernelResponse". {"event":"kernel.response","listener":"Symfony\\Component\\Security\\Http\\RememberMe\\ResponseListener::onKernelResponse"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.response" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelResponse". {"event":"kernel.response","listener":"Sensio\\Bundle\\FrameworkExtraBundle\\EventListener\\HttpCacheListener::onKernelResponse"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse". {"event":"kernel.response","listener":"Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener::onKernelResponse"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse". {"event":"kernel.response","listener":"Symfony\\Bundle\\WebProfilerBundle\\EventListener\\WebDebugToolbarListener::onKernelResponse"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\SaveSessionListener::onKernelResponse". {"event":"kernel.response","listener":"Symfony\\Component\\HttpKernel\\EventListener\\SaveSessionListener::onKernelResponse"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\StreamedResponseListener::onKernelResponse". {"event":"kernel.response","listener":"Symfony\\Component\\HttpKernel\\EventListener\\StreamedResponseListener::onKernelResponse"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest". {"event":"kernel.finish_request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\TranslatorListener::onKernelFinishRequest". {"event":"kernel.finish_request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\TranslatorListener::onKernelFinishRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest". {"event":"kernel.finish_request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.finish_request" to listener "Symfony\Component\Security\Http\Firewall::onKernelFinishRequest". {"event":"kernel.finish_request","listener":"Symfony\\Component\\Security\\Http\\Firewall::onKernelFinishRequest"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener::onTerminate". {"event":"kernel.terminate","listener":"Symfony\\Bundle\\SwiftmailerBundle\\EventListener\\EmailSenderListener::onTerminate"} [] 
[2017-01-23 09:56:11] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelTerminate". {"event":"kernel.terminate","listener":"Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener::onKernelTerminate"} [] 

你能帮我解决为什么它叫了两声?

在此先感谢

我不女巫服务使用,因为默认情况下访问独白与记录器服务,也许你对“monolog.logger”使服务和服务正在两倍登录到该文件。

我使用这个代码能够正确的工作:

$logger = $this->get('logger'); 
$logger->info('ClientIP:' . $request->getClientIp() . ' ' . $request->getContent()); 

我的日志:

[2017-01-23 16:23:59] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController". [] [] 
[2017-01-23 16:23:59] app.INFO: ClientIP:127.0.0.1 [] [] 
[2017-01-23 16:23:59] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse". [] [] 
[2017-01-23 16:23:59] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\Security\Http\RememberMe\ResponseListener::onKernelResponse". [] [] 

的独白服务是这样的:

monolog.logger.doctrine            Symfony\Bridge\Monolog\Logger                 
    monolog.logger.event             Symfony\Bridge\Monolog\Logger                 
    monolog.logger.php             Symfony\Bridge\Monolog\Logger                 
    monolog.logger.profiler            Symfony\Bridge\Monolog\Logger                 
    monolog.logger.request            Symfony\Bridge\Monolog\Logger                 
    monolog.logger.router            Symfony\Bridge\Monolog\Logger                 
    monolog.logger.security            Symfony\Bridge\Monolog\Logger                 
    monolog.logger.templating           Symfony\Bridge\Monolog\Logger                 
    monolog.logger.translation           Symfony\Bridge\Monolog\Logger 
+0

我忘了删除我的新渠道从主要处理程序。频道:[“!永远”] – ScottGutman