Passed
Push — master ( 5bb09d...f10a02 )
by 世昌
01:51
created

ConsoleLogger::interpolate()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 4
nc 2
nop 2
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
<?php
2
namespace nebula\component\debug\log\logger;
3
4
use nebula\component\debug\log\AbstractLogger;
5
6
/**
7
 * 控制台日志输出
8
 */
9
class ConsoleLogger extends AbstractLogger
10
{
11
    public function log($level, string $message, array $context = [])
12
    {
13
        print date('Y-m-d H:i:s') .' ' . $this->interpolate($message, $context) . PHP_EOL;
14
    }
15
    public function interpolate(string $message, array $context)
16
    {
17
        $replace = [];
18
        foreach ($context as $key => $val) {
19
            $replace['{' . $key . '}'] = $val;
20
        }
21
        return strtr($message, $replace);
22
    }
23
}
24