1<?php 2 3namespace 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 */ 20interface LoggerInterface 21{ 22 /** 23 * System is unusable. 24 * 25 * @param string $message 26 * @param mixed[] $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 mixed[] $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 mixed[] $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 mixed[] $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 mixed[] $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 mixed[] $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 mixed[] $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 mixed[] $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 mixed[] $context 119 * 120 * @return void 121 * 122 * @throws \Psr\Log\InvalidArgumentException 123 */ 124 public function log($level, $message, array $context = array()); 125} 126