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: public function emergency($message, array $context = array());
29:
30: /**
31: * Action must be taken immediately.
32: *
33: * Example: Entire website down, database unavailable, etc. This should
34: * trigger the SMS alerts and wake you up.
35: *
36: * @param string $message
37: * @param array $context
38: */
39: public function alert($message, array $context = array());
40:
41: /**
42: * Critical conditions.
43: *
44: * Example: Application component unavailable, unexpected exception.
45: *
46: * @param string $message
47: * @param array $context
48: */
49: public function critical($message, array $context = array());
50:
51: /**
52: * Runtime errors that do not require immediate action but should typically
53: * be logged and monitored.
54: *
55: * @param string $message
56: * @param array $context
57: */
58: public function error($message, array $context = array());
59:
60: /**
61: * Exceptional occurrences that are not errors.
62: *
63: * Example: Use of deprecated APIs, poor use of an API, undesirable things
64: * that are not necessarily wrong.
65: *
66: * @param string $message
67: * @param array $context
68: */
69: public function warning($message, array $context = array());
70:
71: /**
72: * Normal but significant events.
73: *
74: * @param string $message
75: * @param array $context
76: */
77: public function notice($message, array $context = array());
78:
79: /**
80: * Interesting events.
81: *
82: * Example: User logs in, SQL logs.
83: *
84: * @param string $message
85: * @param array $context
86: */
87: public function info($message, array $context = array());
88:
89: /**
90: * Detailed debug information.
91: *
92: * @param string $message
93: * @param array $context
94: */
95: public function debug($message, array $context = array());
96:
97: /**
98: * Logs with an arbitrary level.
99: *
100: * @param mixed $level
101: * @param string $message
102: * @param array $context
103: */
104: public function log($level, $message, array $context = array());
105: }
106: