LoggerTrait::getLogger()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 7
ccs 4
cts 4
cp 1
rs 10
cc 2
nc 2
nop 0
crap 2
1
<?php
2
/**
3
 * Trait LoggerTrait|Firesphere\SolrSearch\Traits\LoggerTrait Trait to help getting and setting the logger
4
 *
5
 * @package Firesphere\Solr\Search
6
 * @author Simon `Firesphere` Erkelens; Marco `Sheepy` Hermo
7
 * @copyright Copyright (c) 2018 - now() Firesphere & Sheepy
8
 */
9
10
namespace Firesphere\SolrSearch\Traits;
11
12
use Psr\Log\LoggerInterface;
13
use SilverStripe\Core\Injector\Injector;
14
15
/**
16
 * Trait LoggerTrait
17
 *
18
 * Trait for getting and setting the logger.
19
 *
20
 * @package Firesphere\Solr\Search
21
 */
22
trait LoggerTrait
23
{
24
    /**
25
     * The logger to use
26
     *
27
     * @var LoggerInterface
28
     */
29
    protected $logger;
30
31
    /**
32
     * Get the logger
33
     *
34
     * @return LoggerInterface
35
     */
36 42
    public function getLogger()
37
    {
38 42
        if (!$this->logger) {
39 19
            $this->logger = Injector::inst()->get(LoggerInterface::class);
40
        }
41
42 42
        return $this->logger;
43
    }
44
45
    /**
46
     * Set the logger if needed
47
     *
48
     * @param LoggerInterface $logger
49
     */
50 39
    public function setLogger($logger): void
51
    {
52 39
        $this->logger = $logger;
53 39
    }
54
}
55