Viewing file: LoggerInterface.php (3.8 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace smpp;
use InvalidArgumentException;
/** * Describes a logger instance. * * 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". * * The context array can contain arbitrary data. The only assumption that * 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 { // log levels (replace to ENUM in php 8.1) public const EMERGENCY = 'emergency'; public const ALERT = 'alert'; public const CRITICAL = 'critical'; public const ERROR = 'error'; public const WARNING = 'warning'; public const NOTICE = 'notice'; public const INFO = 'info'; public const DEBUG = 'debug';
public const LEVEL_LIST = [ self::ALERT, self::CRITICAL, self::DEBUG, self::EMERGENCY, self::ERROR, self::INFO, self::NOTICE, self::WARNING, ];
/** * System is unusable. * * @param string $message * @param array<mixed, mixed> $context * * @return void */ public function emergency(string $message, array $context = []): void;
/** * 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 * @param array<mixed, mixed> $context * * @return void */ public function alert(string $message, array $context = []): void;
/** * Critical conditions. * * Example: Application component unavailable, unexpected exception. * * @param string $message * @param array<mixed, mixed> $context * * @return void */ public function critical(string $message, array $context = []): void;
/** * Runtime errors that do not require immediate action but should typically * be logged and monitored. * * @param string $message * @param array<mixed, mixed> $context * * @return void */ public function error(string $message, array $context = []): void;
/** * 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 * @param array<mixed, mixed> $context * * @return void */ public function warning(string $message, array $context = []): void;
/** * Normal but significant events. * * @param string $message * @param array<mixed, mixed> $context * * @return void */ public function notice(string $message, array $context = []): void;
/** * Interesting events. * * Example: User logs in, SQL logs. * * @param string $message * @param array<mixed, mixed> $context * * @return void */ public function info($message, array $context = []): void;
/** * Detailed debug information. * * @param string $message * @param array<mixed, mixed> $context * * @return void */ public function debug(string $message, array $context = []): void;
/** * Logs with an arbitrary level. * * @param value-of<LoggerInterface::LEVEL_LIST> $level * @param string $message * @param array<mixed, mixed> $context * * @return void * * @throws InvalidArgumentException */ public function log(string $level, string $message, array $context = []): void; }
|