Skip to content

Commit 727e92b

Browse files
committed
Encapsulate log level colors within the LogLevel enum
- Moved color definitions for log levels into the LogLevel enum. - Updated ConsoleColorFormatter to use the getColor method from the LogLevel enum. - This change centralizes color logic within the LogLevel enum, improving code organization and maintainability.
1 parent a752812 commit 727e92b

File tree

4 files changed

+22
-17
lines changed

4 files changed

+22
-17
lines changed

src/Formatter/ConsoleColorFormatter.php

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,14 @@
44

55
namespace KaririCode\Logging\Formatter;
66

7-
use KaririCode\Contract\Logging\LogLevel as LoggingLogLevel;
8-
use KaririCode\Logging\LogLevel;
7+
use KaririCode\Contract\Logging\LogLevel;
98

109
class ConsoleColorFormatter
1110
{
12-
private array $colors = [
13-
LogLevel::DEBUG->value => "\033[0;37m", // Light gray
14-
LogLevel::INFO->value => "\033[0;32m", // Green
15-
LogLevel::NOTICE->value => "\033[1;34m", // Light blue
16-
LogLevel::WARNING->value => "\033[1;33m", // Yellow
17-
LogLevel::ERROR->value => "\033[0;31m", // Red
18-
LogLevel::CRITICAL->value => "\033[1;35m", // Magenta
19-
LogLevel::ALERT->value => "\033[1;31m", // Light red
20-
LogLevel::EMERGENCY->value => "\033[1;37m\033[41m", // White on red background
21-
];
2211
private string $resetColor = "\033[0m";
2312

24-
public function format(LoggingLogLevel $level, string $message): string
13+
public function format(LogLevel $level, string $message): string
2514
{
26-
return $this->colors[$level->value] . $message . $this->resetColor;
15+
return $level->getColor() . $message . $this->resetColor;
2716
}
2817
}

src/LogLevel.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,18 @@ public function getValue(): int
3535
self::DEBUG => 100,
3636
};
3737
}
38+
39+
public function getColor(): string
40+
{
41+
return match ($this) {
42+
self::DEBUG => "\033[0;37m", // Light gray
43+
self::INFO => "\033[0;32m", // Green
44+
self::NOTICE => "\033[1;34m", // Light blue
45+
self::WARNING => "\033[1;33m", // Yellow
46+
self::ERROR => "\033[0;31m", // Red
47+
self::CRITICAL => "\033[1;35m", // Magenta
48+
self::ALERT => "\033[1;31m", // Light red
49+
self::EMERGENCY => "\033[1;37m\033[41m", // White on red background
50+
};
51+
}
3852
}

tests/Logger/test_config.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
<?php return ['key' => 'value'];
1+
<?php
2+
3+
return ['key' => 'value'];

tests/application.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
use KaririCode\Logging\LoggerFactory;
77
use KaririCode\Logging\LoggerRegistry;
88
use KaririCode\Logging\Service\LoggerServiceProvider;
9-
use KaririCode\Logging\Util\ConfigHelper;
9+
use KaririCode\Logging\Util\Config;
1010

1111
// Carrega o arquivo .env
12-
ConfigHelper::loadEnv();
12+
Config::loadEnv();
1313

1414
// Inicialização e execução da aplicação
1515
$configPath = __DIR__ . '/../config/logging.php';

0 commit comments

Comments
 (0)