2015-08-17 17:00:26 -07:00
< ? php
namespace Psr\Log ;
/**
2017-04-13 15:53:35 +01:00
* Describes a logger instance .
2015-08-17 17:00:26 -07:00
*
* The message MUST be a string or object implementing __toString () .
*
* The message MAY contain placeholders in the form : { foo } where foo
* will be replaced by the context data in key " foo " .
*
2017-04-13 15:53:35 +01:00
* The context array can contain arbitrary data . The only assumption that
2015-08-17 17:00:26 -07:00
* can be made by implementors is that if an Exception instance is given
* to produce a stack trace , it MUST be in a key named " exception " .
*
* See https :// github . com / php - fig / fig - standards / blob / master / accepted / PSR - 3 - logger - interface . md
* for the full interface specification .
*/
interface LoggerInterface
{
/**
* System is unusable .
*
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function emergency ( $message , array $context = array ());
/**
* Action must be taken immediately .
*
* Example : Entire website down , database unavailable , etc . This should
* trigger the SMS alerts and wake you up .
*
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function alert ( $message , array $context = array ());
/**
* Critical conditions .
*
* Example : Application component unavailable , unexpected exception .
*
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function critical ( $message , array $context = array ());
/**
* Runtime errors that do not require immediate action but should typically
* be logged and monitored .
*
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function error ( $message , array $context = array ());
/**
* Exceptional occurrences that are not errors .
*
* Example : Use of deprecated APIs , poor use of an API , undesirable things
* that are not necessarily wrong .
*
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function warning ( $message , array $context = array ());
/**
* Normal but significant events .
*
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function notice ( $message , array $context = array ());
/**
* Interesting events .
*
* Example : User logs in , SQL logs .
*
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function info ( $message , array $context = array ());
/**
* Detailed debug information .
*
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function debug ( $message , array $context = array ());
/**
* Logs with an arbitrary level .
*
2017-04-13 15:53:35 +01:00
* @ param mixed $level
2015-08-17 17:00:26 -07:00
* @ param string $message
2017-04-13 15:53:35 +01:00
* @ param array $context
*
* @ return void
2015-08-17 17:00:26 -07:00
*/
public function log ( $level , $message , array $context = array ());
}