Elgg\Di\ServiceProvider::resolveLoggerDependencies PHP Method

resolveLoggerDependencies() protected method

Returns the first requested service of the logger, events, and hooks. It sets the hooks and events up in the right order to prevent circular dependency.
protected resolveLoggerDependencies ( string $service_needed ) : mixed
$service_needed string The service requested first
return mixed
    protected function resolveLoggerDependencies($service_needed)
    {
        $svcs['hooks'] = new \Elgg\PluginHooksService();
        $svcs['logger'] = new \Elgg\Logger($svcs['hooks'], $this->config, $this->context);
        $svcs['hooks']->setLogger($svcs['logger']);
        $svcs['events'] = new \Elgg\EventsService();
        $svcs['events']->setLogger($svcs['logger']);
        if ($this->config->getVolatile('enable_profiling')) {
            $svcs['events']->setTimer($this->timer);
        }
        foreach ($svcs as $key => $service) {
            $this->setValue($key, $service);
        }
        return $svcs[$service_needed];
    }