Logger::critical()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
crap 1
1
<?php declare(strict_types=1);
2
3
namespace Igni\Network\Server;
4
5
use DateTime;
6
use DateTimeZone;
7
use Psr\Log\LoggerInterface;
8
use Psr\Log\LogLevel;
9
10
use function printf;
11
use function sprintf;
12
use function str_replace;
13
use function strtoupper;
14
15
class Logger implements LoggerInterface
16
{
17 1
    public function emergency($message, array $context = []): void
18
    {
19 1
        $this->log(LogLevel::EMERGENCY, $message, $context);
20 1
    }
21
22 2
    public function alert($message, array $context = []): void
23
    {
24 2
        $this->log(LogLevel::ALERT, $message, $context);
25 2
    }
26
27 1
    public function critical($message, array $context = []): void
28
    {
29 1
        $this->log(LogLevel::CRITICAL, $message, $context);
30 1
    }
31
32 1
    public function error($message, array $context = []): void
33
    {
34 1
        $this->log(LogLevel::ERROR, $message, $context);
35 1
    }
36
37 1
    public function warning($message, array $context = []): void
38
    {
39 1
        $this->log(LogLevel::WARNING, $message, $context);
40 1
    }
41
42 1
    public function notice($message, array $context = []): void
43
    {
44 1
        $this->log(LogLevel::NOTICE, $message, $context);
45 1
    }
46
47 4
    public function info($message, array $context = []): void
48
    {
49 4
        $this->log(LogLevel::INFO, $message, $context);
50 4
    }
51
52 1
    public function debug($message, array $context = []): void
53
    {
54 1
        $this->log(LogLevel::DEBUG, $message, $context);
55 1
    }
56
57 12
    public function log($level, $message, array $context = []): void
58
    {
59 12
        foreach ($context as $key => $value) {
60 11
            $search = sprintf('{%s}', $key);
61 11
            $message = str_replace($search, $value, $message);
62
        }
63
64 12
        printf('[%s][%s] - %s%s', (new DateTime('now', new DateTimeZone('UTC')))->format('Y-m-d H:i:s'), strtoupper($level), $message, PHP_EOL);
65 12
    }
66
}
67