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']))
|
||||
{
|
||||
switch(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;
|
||||
}
|
||||
self::$log_level = LogLevel::fromOrDefault(strtolower(self::$args['l'] ?? self::$args['log-level']));
|
||||
}
|
||||
else
|
||||
{
|
||||
self::$log_level = LogLevel::INFO->value;
|
||||
self::$log_level = LogLevel::INFO;
|
||||
}
|
||||
|
||||
if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG))
|
||||
|
|
|
@ -37,4 +37,23 @@
|
|||
case ERROR = 'error';
|
||||
|
||||
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