PqpHandler::getDefaultFormatter()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 2
Metric Value
c 2
b 0
f 2
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Jacobemerick\MonologPqp;
4
5
use Exception;
6
use Monolog\Formatter\LineFormatter;
7
use Monolog\Handler\AbstractProcessingHandler;
8
use Monolog\Logger;
9
use Particletree\Pqp\Console;
10
11
class PqpHandler extends AbstractProcessingHandler
12
{
13
14
    /**
15
     * @var Console
16
     */
17
    protected $console;
18
19
    /**
20
     * @param Console $console
21
     * @param int     $level
22
     * @param boolean $bubble
23
     */
24
    public function __construct(Console $console, $level = Logger::DEBUG, $bubble = true)
25
    {
26
        parent::__construct($level, $bubble);
27
28
        $this->console = $console;
29
    }
30
31
    /**
32
     * @param array $record
33
     */
34
    protected function write(array $record)
35
    {
36
        if (
37
            $record['level'] >= Logger::ERROR &&
38
            isset($record['context']['exception']) &&
39
            $record['context']['exception'] instanceof Exception
40
        ) {
41
            $this->console->logError($record['context']['exception']);
42
            return;
43
        }
44
45
        $this->console->log($record['formatted']);
46
    }
47
48
    /**
49
     * @return LineFormatter
50
     */
51
    protected function getDefaultFormatter()
52
    {
53
        return new LineFormatter("%channel%.%level_name%: %message%\n");
54
    }
55
}
56