Passed
Push — master ( bffbb7...bd72d4 )
by 世昌
02:18
created

ConsoleLogger::interpolate()   A

Complexity

Conditions 5
Paths 3

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 5
nc 3
nop 2
dl 0
loc 9
rs 9.6111
c 0
b 0
f 0
1
<?php
2
namespace nebula\component\debug\log\logger;
3
4
/**
5
 * 控制台日志输出
6
 */
7
class ConsoleLogger extends AbstractLogger
0 ignored issues
show
Bug introduced by
The type nebula\component\debug\log\logger\AbstractLogger was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
8
{
9
    public function log($level, string $message, array $context = [])
10
    {
11
        print date('Y-m-d H:i:s') .' ' . $this->interpolate($message, $context) . PHP_EOL;
12
    }
13
14
    public function interpolate(string $message, array $context)
15
    {
16
        $replace = array();
17
        foreach ($context as $key => $val) {
18
            if (!is_array($val) && (!is_object($val) || method_exists($val, '__toString'))) {
19
                $replace['{' . $key . '}'] = $val;
20
            }
21
        }
22
        return strtr($message, $replace);
23
    }
24
}
25