예제 #1
0
    /**
     * {@inheritDoc}
     */
    protected function triggerListener($listener, $eventName, Event $event)
    {
        parent::triggerListener($listener, $eventName, $event);

        if (null !== $this->logger) {
            $this->logger->debug(sprintf('Notified event "%s" to listener "%s".', $eventName, get_class($listener)));
        }

        $this->called[$eventName.'.'.get_class($listener)] = $this->getListenerInfo($listener, $eventName);

        if ($event->isPropagationStopped() && null !== $this->logger) {
            $this->logger->debug(sprintf('Listener "%s" stopped propagation of the event "%s".', get_class($listener), $eventName));

            $skippedListeners = $this->getListeners($eventName);
            $skipped = false;

            foreach ($skippedListeners as $skippedListener) {
                if ($skipped) {
                    $this->logger->debug(sprintf('Listener "%s" was not called for event "%s".', get_class($skippedListener), $eventName));
                }

                if ($skippedListener === $listener) {
                    $skipped = true;
                }
            }
        }
    }
예제 #2
0
 /**
  * {@inheritDoc}
  */
 protected function triggerListener($listener, $eventName, Event $event)
 {
     parent::triggerListener($listener, $eventName, $event);
     $listenerString = $this->listenerToString($listener);
     if (null !== $this->logger) {
         $this->logger->debug(sprintf('Notified event "%s" to listener "%s"', $eventName, $listenerString));
     }
     $this->called[$eventName . '.' . $listenerString] = array('class' => $listenerString, 'event' => $eventName);
     if ($event->isPropagationStopped() && null !== $this->logger) {
         $this->logger->debug(sprintf('Listener "%s" stopped propagation of the event "%s"', $this->listenerToString($listener), $eventName));
         $skippedListeners = $this->getListeners($eventName);
         $skipped = false;
         foreach ($skippedListeners as $skippedListener) {
             if ($skipped) {
                 $this->logger->debug(sprintf('Listener "%s" was not called for event "%s"', $this->listenerToString($skippedListener), $eventName));
             }
             if ($skippedListener === $listener) {
                 $skipped = false;
             }
         }
     }
 }