* @author Morris Jobke * @author Thomas Müller * * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License, version 3, * along with this program. If not, see * */ namespace OCP; /** * Interface ILogger * @package OCP * @since 7.0.0 * * This logger interface follows the design guidelines of PSR-3 * https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md#3-psrlogloggerinterface */ interface ILogger { /** * System is unusable. * * @param string $message * @param array $context * @return null * @since 7.0.0 */ public function emergency($message, array $context = array()); /** * Action must be taken immediately. * * @param string $message * @param array $context * @return null * @since 7.0.0 */ public function alert($message, array $context = array()); /** * Critical conditions. * * @param string $message * @param array $context * @return null * @since 7.0.0 */ 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 * @param array $context * @return null * @since 7.0.0 */ public function error($message, array $context = array()); /** * Exceptional occurrences that are not errors. * * @param string $message * @param array $context * @return null * @since 7.0.0 */ public function warning($message, array $context = array()); /** * Normal but significant events. * * @param string $message * @param array $context * @return null * @since 7.0.0 */ public function notice($message, array $context = array()); /** * Interesting events. * * @param string $message * @param array $context * @return null * @since 7.0.0 */ public function info($message, array $context = array()); /** * Detailed debug information. * * @param string $message * @param array $context * @return null * @since 7.0.0 */ public function debug($message, array $context = array()); /** * Logs with an arbitrary level. * * @param mixed $level * @param string $message * @param array $context * @return mixed * @since 7.0.0 */ public function log($level, $message, array $context = array()); /** * Logs an exception very detailed * An additional message can we written to the log by adding it to the * context. * * * $logger->logException($ex, [ * 'message' => 'Exception during background job execution' * ]); * * * @param \Exception|\Throwable $exception * @param array $context * @return void * @since 8.2.0 */ public function logException($exception, array $context = array()); }