-
Notifications
You must be signed in to change notification settings - Fork 56
/
logger.php
60 lines (49 loc) · 1.53 KB
/
logger.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
use Psr\Log\LoggerInterface;
/**
* Logged that echos log lines. Useful for examples
*/
class EchoLogger implements LoggerInterface
{
public function emergency($message, array $context = array())
{
$this->log('emergency', $message, $context);
}
public function alert($message, array $context = array())
{
$this->log('alert', $message, $context);
}
public function critical($message, array $context = array())
{
$this->log('critical', $message, $context);
}
public function error($message, array $context = array())
{
$this->log('error', $message, $context);
}
public function warning($message, array $context = array())
{
$this->log('warning', $message, $context);
}
public function notice($message, array $context = array())
{
$this->log('notice', $message, $context);
}
public function info($message, array $context = array())
{
$this->log('info', $message, $context);
}
public function debug($message, array $context = array())
{
$this->log('debug', $message, $context);
}
public function log($level, $message, array $context = array())
{
$now = DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''));
$extra = '';
if (!empty($context)) {
$extra = ', data: ' . var_export($context, true);
}
echo $now->format("Y-m-d H:i:s.u") . ': [' . $level . '] msg: "' . $message . '"' . $extra . PHP_EOL;
}
}