ScottGutman
ScottGutman

Reputation: 302

Why is controller method is called twice in symfony2

I am having a problem where my controller actions are being called twice and I don't know why.

Here is a simple method I made for testing.

 /**
   * @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");
  }

And here is the log.

[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"} []

Can you help me troubleshoot why its called twice?

Thanks in advance

Upvotes: 0

Views: 1086

Answers (1)

fredpalas
fredpalas

Reputation: 66

I don't witch services are using, because by default access to monolog is with the logger service, maybe you make a services for "monolog.logger" and the services is making twice the log to the file.

I'm using this code an work correctly:

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

My log:

[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". [] []

The monolog services are this:

  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  

Upvotes: 1

Related Questions