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