LoggerTrait   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 129
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
dl 0
loc 129
rs 10
c 1
b 0
f 0
wmc 8

8 Methods

Rating   Name   Duplication   Size   Complexity  
A alert() 0 3 1
A error() 0 3 1
A warning() 0 3 1
A notice() 0 3 1
A critical() 0 3 1
A emergency() 0 3 1
A info() 0 3 1
A debug() 0 3 1
1
<?php
2
3
namespace Psr\Log;
4
5
/**
6
 * This is a simple Logger trait that classes unable to extend AbstractLogger
7
 * (because they extend another class, etc) can include.
8
 *
9
 * It simply delegates all log-level-specific methods to the `log` method to
10
 * reduce boilerplate code that a simple Logger that does the same thing with
11
 * messages regardless of the error level has to implement.
12
 */
13
trait LoggerTrait
14
{
15
    /**
16
     * System is unusable.
17
     *
18
     * @param string $message
19
     * @param array  $context
20
     *
21
     * @return void
22
     */
23
    public function emergency($message, array $context = array())
24
    {
25
        $this->log(LogLevel::EMERGENCY, $message, $context);
26
    }
27
28
    /**
29
     * Action must be taken immediately.
30
     *
31
     * Example: Entire website down, database unavailable, etc. This should
32
     * trigger the SMS alerts and wake you up.
33
     *
34
     * @param string $message
35
     * @param array  $context
36
     *
37
     * @return void
38
     */
39
    public function alert($message, array $context = array())
40
    {
41
        $this->log(LogLevel::ALERT, $message, $context);
42
    }
43
44
    /**
45
     * Critical conditions.
46
     *
47
     * Example: Application component unavailable, unexpected exception.
48
     *
49
     * @param string $message
50
     * @param array  $context
51
     *
52
     * @return void
53
     */
54
    public function critical($message, array $context = array())
55
    {
56
        $this->log(LogLevel::CRITICAL, $message, $context);
57
    }
58
59
    /**
60
     * Runtime errors that do not require immediate action but should typically
61
     * be logged and monitored.
62
     *
63
     * @param string $message
64
     * @param array  $context
65
     *
66
     * @return void
67
     */
68
    public function error($message, array $context = array())
69
    {
70
        $this->log(LogLevel::ERROR, $message, $context);
71
    }
72
73
    /**
74
     * Exceptional occurrences that are not errors.
75
     *
76
     * Example: Use of deprecated APIs, poor use of an API, undesirable things
77
     * that are not necessarily wrong.
78
     *
79
     * @param string $message
80
     * @param array  $context
81
     *
82
     * @return void
83
     */
84
    public function warning($message, array $context = array())
85
    {
86
        $this->log(LogLevel::WARNING, $message, $context);
87
    }
88
89
    /**
90
     * Normal but significant events.
91
     *
92
     * @param string $message
93
     * @param array  $context
94
     *
95
     * @return void
96
     */
97
    public function notice($message, array $context = array())
98
    {
99
        $this->log(LogLevel::NOTICE, $message, $context);
100
    }
101
102
    /**
103
     * Interesting events.
104
     *
105
     * Example: User logs in, SQL logs.
106
     *
107
     * @param string $message
108
     * @param array  $context
109
     *
110
     * @return void
111
     */
112
    public function info($message, array $context = array())
113
    {
114
        $this->log(LogLevel::INFO, $message, $context);
115
    }
116
117
    /**
118
     * Detailed debug information.
119
     *
120
     * @param string $message
121
     * @param array  $context
122
     *
123
     * @return void
124
     */
125
    public function debug($message, array $context = array())
126
    {
127
        $this->log(LogLevel::DEBUG, $message, $context);
128
    }
129
130
    /**
131
     * Logs with an arbitrary level.
132
     *
133
     * @param mixed  $level
134
     * @param string $message
135
     * @param array  $context
136
     *
137
     * @return void
138
     *
139
     * @throws \Psr\Log\InvalidArgumentException
140
     */
141
    abstract public function log($level, $message, array $context = array());
142
}
143