. * */ namespace Friendica\Test\src\Core\Logger; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\Logger\Exception\LogLevelException; use Friendica\Core\Logger\Factory\SyslogLogger; use Friendica\Core\Logger\Type\SyslogLogger as SyslogLoggerClass; use Psr\Log\LoggerInterface; class SyslogLoggerFactoryWrapper extends SyslogLogger { public function create(IManageConfigValues $config): LoggerInterface { $logOpts = $config->get('system', 'syslog_flags') ?? SyslogLoggerClass::DEFAULT_FLAGS; $logFacility = $config->get('system', 'syslog_facility') ?? SyslogLoggerClass::DEFAULT_FACILITY; $loglevel = SyslogLogger::mapLegacyConfigDebugLevel($config->get('system', 'loglevel')); if (array_key_exists($loglevel, SyslogLoggerClass::logLevels)) { $loglevel = SyslogLoggerClass::logLevels[$loglevel]; } else { throw new LogLevelException(sprintf('The level "%s" is not valid.', $loglevel)); } return new SyslogLoggerWrapper($this->channel, $this->introspection, $loglevel, $logOpts, $logFacility); } }