/**
* @copyright Copyright (C) 2010-2023, the Friendica project
*
- * @license GNU AGPL version 3 or any later version
+ * @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
use Friendica\Core\Config\Capability\IManageConfigValues;
use Friendica\Core\Logger\Exception\LoggerException;
+use Friendica\Core\Logger\Exception\LogLevelException;
use Friendica\Core\Logger\Type\SyslogLogger as SyslogLoggerClass;
use Psr\Log\LoggerInterface;
-use Psr\Log\LogLevel;
/**
* The logger factory for the SyslogLogger instance
/**
* Creates a new PSR-3 compliant syslog logger instance
*
- * @param IManageConfigValues $config The system configuration
+ * @param IManageConfigValues $config The system configuration
*
* @return LoggerInterface The PSR-3 compliant logger instance
*
*/
public function create(IManageConfigValues $config): LoggerInterface
{
- $logOpts = $config->get('system', 'syslog_flags') ?? SyslogLoggerClass::DEFAULT_FLAGS;
+ $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)) {
+ if (array_key_exists($loglevel, SyslogLoggerClass::logLevels)) {
$loglevel = SyslogLoggerClass::logLevels[$loglevel];
} else {
- $loglevel = SyslogLoggerClass::logLevels[LogLevel::NOTICE];
+ throw new LogLevelException(sprintf('The level "%s" is not valid.', $loglevel));
}
return new SyslogLoggerClass($this->channel, $this->introspection, $loglevel, $logOpts, $logFacility);