Subversion Repositories cheapmusic

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
103 - 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
    abstract public function log($level, $message, array $context = array());
140
}