1 <?php
2
3 namespace Psr\Log;
4
5 /**
6 * Describes a logger instance.
7 *
8 * The message MUST be a string or object implementing __toString().
9 *
10 * The message MAY contain placeholders in the form: {foo} where foo
11 * will be replaced by the context data in key "foo".
12 *
13 * The context array can contain arbitrary data. The only assumption that
14 * can be made by implementors is that if an Exception instance is given
15 * to produce a stack trace, it MUST be in a key named "exception".
16 *
17 * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md
18 * for the full interface specification.
19 */
20 interface LoggerInterface
21 {
22 /**
23 * System is unusable.
24 *
25 * @param string $message
26 * @param array $context
27 *
28 * @return void
29 */
30 public function emergency($message, array $context = array());
31
32 /**
33 * Action must be taken immediately.
34 *
35 * Example: Entire website down, database unavailable, etc. This should
36 * trigger the SMS alerts and wake you up.
37 *
38 * @param string $message
39 * @param array $context
40 *
41 * @return void
42 */
43 public function alert($message, array $context = array());
44
45 /**
46 * Critical conditions.
47 *
48 * Example: Application component unavailable, unexpected exception.
49 *
50 * @param string $message
51 * @param array $context
52 *
53 * @return void
54 */
55 public function critical($message, array $context = array());
56
57 /**
58 * Runtime errors that do not require immediate action but should typically
59 * be logged and monitored.
60 *
61 * @param string $message
62 * @param array $context
63 *
64 * @return void
65 */
66 public function error($message, array $context = array());
67
68 /**
69 * Exceptional occurrences that are not errors.
70 *
71 * Example: Use of deprecated APIs, poor use of an API, undesirable things
72 * that are not necessarily wrong.
73 *
74 * @param string $message
75 * @param array $context
76 *
77 * @return void
78 */
79 public function warning($message, array $context = array());
80
81 /**
82 * Normal but significant events.
83 *
84 * @param string $message
85 * @param array $context
86 *
87 * @return void
88 */
89 public function notice($message, array $context = array());
90
91 /**
92 * Interesting events.
93 *
94 * Example: User logs in, SQL logs.
95 *
96 * @param string $message
97 * @param array $context
98 *
99 * @return void
100 */
101 public function info($message, array $context = array());
102
103 /**
104 * Detailed debug information.
105 *
106 * @param string $message
107 * @param array $context
108 *
109 * @return void
110 */
111 public function debug($message, array $context = array());
112
113 /**
114 * Logs with an arbitrary level.
115 *
116 * @param mixed $level
117 * @param string $message
118 * @param array $context
119 *
120 * @return void
121 */
122 public function log($level, $message, array $context = array());
123 }
124