diff options
Diffstat (limited to 'lib/private/EventDispatcher/EventDispatcher.php')
-rw-r--r-- | lib/private/EventDispatcher/EventDispatcher.php | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/private/EventDispatcher/EventDispatcher.php b/lib/private/EventDispatcher/EventDispatcher.php index 2a306344923..d64ad88be7e 100644 --- a/lib/private/EventDispatcher/EventDispatcher.php +++ b/lib/private/EventDispatcher/EventDispatcher.php @@ -27,6 +27,7 @@ declare(strict_types=1); */ namespace OC\EventDispatcher; +use OC\Log; use Psr\Log\LoggerInterface; use function get_class; use OC\Broadcast\Events\BroadcastEvent; @@ -54,6 +55,12 @@ class EventDispatcher implements IEventDispatcher { $this->dispatcher = $dispatcher; $this->container = $container; $this->logger = $logger; + + // inject the event dispatcher into the logger + // this is done here because there is a cyclic dependency between the event dispatcher and logger + if ($this->logger instanceof Log or $this->logger instanceof Log\PsrLoggerAdapter) { + $this->logger->setEventDispatcher($this); + } } public function addListener(string $eventName, |