LoggerTrait   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 6
c 1
b 0
f 0
dl 0
loc 31
ccs 6
cts 6
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getLogger() 0 7 2
A setLogger() 0 3 1
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