2017-01-23 151 views
0

我遇到了一個問題,我的控制器操作被調用兩次,我不知道爲什麼。爲什麼控制器方法在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"} [] 

你能幫我解決爲什麼它叫了兩聲?

在此先感謝

回答

1

我不女巫服務使用,因爲默認情況下訪問獨白與記錄器服務,也許你對「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

相關問題