Logging::getGlobalLogger()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
cc 2
eloc 4
nc 2
nop 0
dl 0
loc 8
ccs 0
cts 4
cp 0
crap 6
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * Nucleus - XMPP Library for PHP
4
 *
5
 * Copyright (C) 2016, Some rights reserved.
6
 *
7
 * @author Kacper "Kadet" Donat <[email protected]>
8
 *
9
 * Contact with author:
10
 * Xmpp: [email protected]
11
 * E-mail: [email protected]
12
 *
13
 * From Kadet with love.
14
 */
15
16
namespace Kadet\Xmpp\Utils;
17
18
use Psr\Log\LoggerInterface;
19
use Psr\Log\NullLogger;
20
21
trait Logging
22
{
23
    private static $global = null;
24
25
    /** @var LoggerInterface */
26
    private $_logger = null;
27
28
    public static function setGlobalLogger(LoggerInterface $logger)
29
    {
30
        self::$global = $logger;
31
    }
32
33
    /**
34
     * @return LoggerInterface
35
     */
36
    public function getLogger() : LoggerInterface
37
    {
38
        if ($this->_logger === null) {
39
            $this->_logger = self::getGlobalLogger();
40
        }
41
42
        return $this->_logger;
43
    }
44
45
    public function setLogger(LoggerInterface $logger)
46
    {
47
        $this->_logger = $logger;
48
    }
49
50
    /**
51
     * @return LoggerInterface
52
     */
53
    public static function getGlobalLogger()
54
    {
55
        if (self::$global === null) {
56
            self::$global = new NullLogger();
57
        }
58
59
        return self::$global;
60
    }
61
}
62