LoggerTrait::setLogger()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

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