Refactor log level parsing with enum method
This commit is contained in:
parent
24e67061f1
commit
8b64a48a5f
2 changed files with 21 additions and 19 deletions
|
@ -91,28 +91,11 @@
|
||||||
|
|
||||||
if(isset(self::$args['l']) || isset(self::$args['log-level']))
|
if(isset(self::$args['l']) || isset(self::$args['log-level']))
|
||||||
{
|
{
|
||||||
switch(strtolower(self::$args['l'] ?? self::$args['log-level']))
|
self::$log_level = LogLevel::fromOrDefault(strtolower(self::$args['l'] ?? self::$args['log-level']));
|
||||||
{
|
|
||||||
// TODO: Fix this, it's not casting correctly to the enum type but rather as a string
|
|
||||||
case LogLevel::SILENT->value:
|
|
||||||
case LogLevel::FATAL->value:
|
|
||||||
case LogLevel::ERROR->value:
|
|
||||||
case LogLevel::WARNING->value:
|
|
||||||
case LogLevel::INFO->value:
|
|
||||||
case LogLevel::DEBUG->value:
|
|
||||||
case LogLevel::VERBOSE->value:
|
|
||||||
self::$log_level = strtolower(self::$args['l'] ?? self::$args['log-level']);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
Console::outWarning('Unknown log level: ' . (self::$args['l'] ?? self::$args['log-level']) . ', using \'info\'');
|
|
||||||
self::$log_level = LogLevel::INFO->value;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
self::$log_level = LogLevel::INFO->value;
|
self::$log_level = LogLevel::INFO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG))
|
if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG))
|
||||||
|
|
|
@ -37,4 +37,23 @@
|
||||||
case ERROR = 'error';
|
case ERROR = 'error';
|
||||||
|
|
||||||
case FATAL = 'fatal';
|
case FATAL = 'fatal';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts the given string input to a LogLevel.
|
||||||
|
* If the input is invalid or not found, it defaults to LogLevel::INFO.
|
||||||
|
*
|
||||||
|
* @param string $input The input string to be converted to a LogLevel.
|
||||||
|
* @return LogLevel Returns the corresponding LogLevel for the input string or LogLevel::INFO if not found.
|
||||||
|
*/
|
||||||
|
public static function fromOrDefault(string $input): LogLevel
|
||||||
|
{
|
||||||
|
$value = self::tryFrom($input);
|
||||||
|
|
||||||
|
if($value === null)
|
||||||
|
{
|
||||||
|
return self::INFO;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue