Convert LogLevel constants to enum cases

This commit is contained in:
netkas 2024-09-14 00:30:05 -04:00
parent d612c67cb0
commit 5dd98083d6
8 changed files with 55 additions and 63 deletions

View file

@ -93,28 +93,28 @@
{ {
switch(strtolower(self::$args['l'] ?? self::$args['log-level'])) switch(strtolower(self::$args['l'] ?? self::$args['log-level']))
{ {
case LogLevel::SILENT: case LogLevel::SILENT->value:
case LogLevel::FATAL: case LogLevel::FATAL->value:
case LogLevel::ERROR: case LogLevel::ERROR->value:
case LogLevel::WARNING: case LogLevel::WARNING->value:
case LogLevel::INFO: case LogLevel::INFO->value:
case LogLevel::DEBUG: case LogLevel::DEBUG->value:
case LogLevel::VERBOSE: case LogLevel::VERBOSE->value:
self::$log_level = strtolower(self::$args['l'] ?? self::$args['log-level']); self::$log_level = strtolower(self::$args['l'] ?? self::$args['log-level']);
break; break;
default: default:
Console::outWarning('Unknown log level: ' . (self::$args['l'] ?? self::$args['log-level']) . ', using \'info\''); Console::outWarning('Unknown log level: ' . (self::$args['l'] ?? self::$args['log-level']) . ', using \'info\'');
self::$log_level = LogLevel::INFO; self::$log_level = LogLevel::INFO->value;
break; break;
} }
} }
else else
{ {
self::$log_level = LogLevel::INFO; self::$log_level = LogLevel::INFO->value;
} }
if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG)) if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG->value))
{ {
Console::outDebug('Debug logging enabled'); Console::outDebug('Debug logging enabled');
@ -236,7 +236,7 @@
{ {
if(self::$log_level === null) if(self::$log_level === null)
{ {
self::$log_level = LogLevel::INFO; self::$log_level = LogLevel::INFO->value;
} }
return self::$log_level; return self::$log_level;

View file

@ -122,7 +122,7 @@
} }
// Debugging information // Debugging information
if(Resolver::checkLogLevel(LogLevel::DEBUG, Main::getLogLevel())) if(Resolver::checkLogLevel(LogLevel::DEBUG->value, Main::getLogLevel()))
{ {
foreach($this->project_manager->getProjectConfiguration()->getAssembly()->toArray() as $prop => $value) foreach($this->project_manager->getProjectConfiguration()->getAssembly()->toArray() as $prop => $value)
{ {

View file

@ -112,11 +112,11 @@
switch(Main::getLogLevel()) switch(Main::getLogLevel())
{ {
case LogLevel::VERBOSE: case LogLevel::VERBOSE->value:
$gcc_options[] = '-v'; $gcc_options[] = '-v';
break; break;
case LogLevel::DEBUG: case LogLevel::DEBUG->value:
$gcc_options[] = '-v'; $gcc_options[] = '-v';
$gcc_options[] = '-v'; $gcc_options[] = '-v';
break; break;

View file

@ -22,29 +22,19 @@
namespace ncc\Enums; namespace ncc\Enums;
final class LogLevel enum LogLevel : string
{ {
public const SILENT = 'silent'; case SILENT = 'silent';
public const VERBOSE = 'verbose'; case VERBOSE = 'verbose';
public const DEBUG = 'debug'; case DEBUG = 'debug';
public const INFO = 'info'; case INFO = 'info';
public const WARNING = 'warn'; case WARNING = 'warn';
public const ERROR = 'error'; case ERROR = 'error';
public const FATAL = 'fatal'; case FATAL = 'fatal';
public const ALL = [
self::SILENT,
self::VERBOSE,
self::DEBUG,
self::INFO,
self::WARNING,
self::ERROR,
self::FATAL,
];
} }

View file

@ -665,7 +665,7 @@
{ {
$progress_bar->setMiscText($component_name); $progress_bar->setMiscText($component_name);
if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel()))
{ {
Console::outVerbose(sprintf('Extracting component %s to %s', $component_name, $bin_path . DIRECTORY_SEPARATOR . $component_name)); Console::outVerbose(sprintf('Extracting component %s to %s', $component_name, $bin_path . DIRECTORY_SEPARATOR . $component_name));
} }
@ -683,7 +683,7 @@
{ {
$progress_bar->setMiscText($resource_name); $progress_bar->setMiscText($resource_name);
if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel()))
{ {
Console::outVerbose(sprintf('Extracting resource %s to %s', $resource_name, $bin_path . DIRECTORY_SEPARATOR . $resource_name)); Console::outVerbose(sprintf('Extracting resource %s to %s', $resource_name, $bin_path . DIRECTORY_SEPARATOR . $resource_name));
} }
@ -701,7 +701,7 @@
{ {
$progress_bar->setMiscText($unit); $progress_bar->setMiscText($unit);
if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel()))
{ {
Console::outVerbose(sprintf('Extracting execution unit %s to %s', $unit, $package_path . DIRECTORY_SEPARATOR . 'units' . DIRECTORY_SEPARATOR . $package_reader->getExecutionUnit($unit)->getExecutionPolicy()->getName() . '.unit')); Console::outVerbose(sprintf('Extracting execution unit %s to %s', $unit, $package_path . DIRECTORY_SEPARATOR . 'units' . DIRECTORY_SEPARATOR . $package_reader->getExecutionUnit($unit)->getExecutionPolicy()->getName() . '.unit'));
} }
@ -906,7 +906,7 @@
return; return;
} }
if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel()))
{ {
$percentage = round(($downloaded / $download_size) * 100, 2); $percentage = round(($downloaded / $download_size) * 100, 2);
Console::out(sprintf('Download progress %s (%s/%s) for %s', $percentage, $downloaded, $download_size, $url)); Console::out(sprintf('Download progress %s (%s/%s) for %s', $percentage, $downloaded, $download_size, $url));

View file

@ -53,12 +53,12 @@
private static function setPrefix(string $log_level, string $input): string private static function setPrefix(string $log_level, string $input): string
{ {
$input = match ($log_level) { $input = match ($log_level) {
LogLevel::VERBOSE => self::formatColor('VRB:', ConsoleColors::LIGHT_CYAN) . " $input", LogLevel::VERBOSE->value => self::formatColor('VRB:', ConsoleColors::LIGHT_CYAN) . " $input",
LogLevel::DEBUG => self::formatColor('DBG:', ConsoleColors::LIGHT_MAGENTA) . " $input", LogLevel::DEBUG->value => self::formatColor('DBG:', ConsoleColors::LIGHT_MAGENTA) . " $input",
LogLevel::INFO => self::formatColor('INF:', ConsoleColors::WHITE) . " $input", LogLevel::INFO->value => self::formatColor('INF:', ConsoleColors::WHITE) . " $input",
LogLevel::WARNING => self::formatColor('WRN:', ConsoleColors::YELLOW) . " $input", LogLevel::WARNING->value => self::formatColor('WRN:', ConsoleColors::YELLOW) . " $input",
LogLevel::ERROR => self::formatColor('ERR:', ConsoleColors::LIGHT_RED) . " $input", LogLevel::ERROR->value => self::formatColor('ERR:', ConsoleColors::LIGHT_RED) . " $input",
LogLevel::FATAL => self::formatColor('FTL:', ConsoleColors::LIGHT_RED) . " $input", LogLevel::FATAL->value => self::formatColor('FTL:', ConsoleColors::LIGHT_RED) . " $input",
default => self::formatColor('MSG:', ConsoleColors::DEFAULT) . " $input", default => self::formatColor('MSG:', ConsoleColors::DEFAULT) . " $input",
}; };
@ -109,14 +109,14 @@
return; return;
} }
if(!Resolver::checkLogLevel(LogLevel::INFO, Main::getLogLevel())) if(!Resolver::checkLogLevel(LogLevel::INFO->value, Main::getLogLevel()))
{ {
return; return;
} }
if(!$no_prefix && Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) if(!$no_prefix && Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel()))
{ {
$message = self::setPrefix(LogLevel::INFO, $message); $message = self::setPrefix(LogLevel::INFO->value, $message);
} }
if($newline) if($newline)
@ -142,7 +142,7 @@
return; return;
} }
if(!Resolver::checkLogLevel(LogLevel::DEBUG, Main::getLogLevel())) if(!Resolver::checkLogLevel(LogLevel::DEBUG->value, Main::getLogLevel()))
{ {
return; return;
} }
@ -161,7 +161,7 @@
$trace_msg .= ' > '; $trace_msg .= ' > ';
} }
$message = self::setPrefix(LogLevel::DEBUG, $trace_msg . $message); $message = self::setPrefix(LogLevel::DEBUG->value, $trace_msg . $message);
self::out($message, $newline, true); self::out($message, $newline, true);
} }
@ -179,12 +179,12 @@
return; return;
} }
if(!Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) if(!Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel()))
{ {
return; return;
} }
self::out(self::setPrefix(LogLevel::VERBOSE, $message), $newline, true); self::out(self::setPrefix(LogLevel::VERBOSE->value, $message), $newline, true);
} }
@ -225,14 +225,14 @@
return; return;
} }
if(!Resolver::checkLogLevel(LogLevel::WARNING, Main::getLogLevel())) if(!Resolver::checkLogLevel(LogLevel::WARNING->value, Main::getLogLevel()))
{ {
return; return;
} }
if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel()))
{ {
self::out(self::setPrefix(LogLevel::WARNING, $message), $newline, true); self::out(self::setPrefix(LogLevel::WARNING->value, $message), $newline, true);
return; return;
} }
@ -254,14 +254,14 @@
return; return;
} }
if(!Resolver::checkLogLevel(LogLevel::ERROR, Main::getLogLevel())) if(!Resolver::checkLogLevel(LogLevel::ERROR->value, Main::getLogLevel()))
{ {
return; return;
} }
if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel()))
{ {
self::out(self::setPrefix(LogLevel::ERROR, $message), $newline, true); self::out(self::setPrefix(LogLevel::ERROR->value, $message), $newline, true);
} }
else else
{ {
@ -289,7 +289,7 @@
return; return;
} }
if($message !== '' && Resolver::checkLogLevel(LogLevel::ERROR, Main::getLogLevel())) if($message !== '' && Resolver::checkLogLevel(LogLevel::ERROR->value, Main::getLogLevel()))
{ {
self::out(PHP_EOL . self::formatColor('Error: ', ConsoleColors::RED) . $message); self::out(PHP_EOL . self::formatColor('Error: ', ConsoleColors::RED) . $message);
} }

View file

@ -188,12 +188,13 @@
return match ($current_level) return match ($current_level)
{ {
LogLevel::DEBUG => in_array($input, [LogLevel::DEBUG, LogLevel::VERBOSE, LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), // TODO: Move this to the enum
LogLevel::VERBOSE => in_array($input, [LogLevel::VERBOSE, LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), LogLevel::DEBUG->value => in_array($input, [LogLevel::DEBUG->value, LogLevel::VERBOSE->value, LogLevel::INFO->value, LogLevel::WARNING->value, LogLevel::FATAL->value, LogLevel::ERROR->value], true),
LogLevel::INFO => in_array($input, [LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), LogLevel::VERBOSE->value => in_array($input, [LogLevel::VERBOSE->value, LogLevel::INFO->value, LogLevel::WARNING->value, LogLevel::FATAL->value, LogLevel::ERROR->value], true),
LogLevel::WARNING => in_array($input, [LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), LogLevel::INFO->value => in_array($input, [LogLevel::INFO->value, LogLevel::WARNING->value, LogLevel::FATAL->value, LogLevel::ERROR->value], true),
LogLevel::ERROR => in_array($input, [LogLevel::FATAL, LogLevel::ERROR], true), LogLevel::WARNING->value => in_array($input, [LogLevel::WARNING->value, LogLevel::FATAL->value, LogLevel::ERROR->value], true),
LogLevel::FATAL => $input === LogLevel::FATAL, LogLevel::ERROR->value => in_array($input, [LogLevel::FATAL->value, LogLevel::ERROR->value], true),
LogLevel::FATAL->value => $input === LogLevel::FATAL->value,
default => false, default => false,
}; };
} }

View file

@ -228,7 +228,8 @@ namespace ncc\Utilities;
*/ */
public static function checkLogLevel(string $input): bool public static function checkLogLevel(string $input): bool
{ {
if(!in_array(strtolower($input), LogLevel::ALL)) // TODO: Fix this, it's not the proper use of cases()
if(!in_array(strtolower($input), LogLevel::cases()))
{ {
return false; return false;
} }