channel = $channel; } public function create(ICanCreateInstances $instanceCreator, IManageConfigValues $config, Profiler $profiler): LoggerInterface { if (empty($config->get('system', 'debugging') ?? false)) { return new NullLogger(); } $name = $config->get('system', 'logger_config') ?? ''; try { /** @var LoggerInterface $logger */ $logger = $instanceCreator->create(LoggerInterface::class, $name, [$this->channel]); if ($config->get('system', 'profiling') ?? false) { return new ProfilerLoggerClass($logger, $profiler); } else { return $logger; } } catch (Throwable $e) { // No logger ... return new NullLogger(); } } }