Completed
Push — develop ( 488b09...0de0ee )
by Mathias
131:05 queued 122:54
created

LoggerAwareJobTrait::setLogger()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
/**
3
 * YAWIK
4
 *
5
 * @filesource
6
 * @license MIT
7
 * @copyright  2013 - 2019 Cross Solution <http://cross-solution.de>
8
 */
9
10
declare(strict_types=1);
11
12
/** */
13
namespace Core\Queue;
14
15
use Zend\Log\LoggerInterface;
16
17
/**
18
 * Trait implementing LoggerAwareInterface.
19
 *
20
 * @author Mathias Gelhausen <[email protected]>
21
 * @todo write test 
22
 */
23
trait LoggerAwareJobTrait
24
{
25
    /**
26
     *
27
     *
28
     * @var LoggerInterface
29
     */
30
    private $logger;
31
32
    /**
33
     * Set the logger instance
34
     *
35
     * @param LoggerInterface $logger
36
     */
37
    public function setLogger(LoggerInterface $logger) : void
38
    {
39
        $this->logger = $logger;
40
    }
41
42
    /**
43
     * Get the logger instance.
44
     *
45
     * If no logger is set, it will create and return a null logger.
46
     *
47
     * @return LoggerInterface
48
     */
49
    public function getLogger() : LoggerInterface
50
    {
51
        if (!$this->logger) {
52
            $this->logger = new class implements LoggerInterface
53
            {
54
                public function emerg($message, $extra = []) {}
55
                public function alert($message, $extra = []) {}
56
                public function crit($message, $extra = []) {}
57
                public function err($message, $extra = []) {}
58
                public function warn($message, $extra = []) {}
59
                public function notice($message, $extra = []) {}
60
                public function info($message, $extra = []) {}
61
                public function debug($message, $extra = []) {}
62
            };
63
        }
64
65
        return $this->logger;
66
    }
67
}
68