From 44b66843e928e94b4ea8dea60ecde62ba7ec8d61 Mon Sep 17 00:00:00 2001 From: Seb35 Date: Tue, 12 Jun 2018 12:43:35 +0200 Subject: [PATCH] Define a default Monolog logger if inexistant MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit In the array 'loggers' the key '@default' is assumed to be present, hence be sure it is defined: this is the system default for MediaWiki, it can be overwritten if desired. This default php://stderr with level ERROR is inspired from Monolog’s own default, which is php://stderr with level DEBUG: this is similar but less violent for the average MediaWiki sysadmin. Bug: T196906 Change-Id: Id74083fc20ddf906c40e6d149095e8ade4c68572 --- includes/debug/logger/MonologSpi.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/includes/debug/logger/MonologSpi.php b/includes/debug/logger/MonologSpi.php index ff653ab241..d67696a89a 100644 --- a/includes/debug/logger/MonologSpi.php +++ b/includes/debug/logger/MonologSpi.php @@ -22,6 +22,7 @@ namespace MediaWiki\Logger; use MediaWiki\Logger\Monolog\BufferHandler; use Monolog\Logger; +use Monolog\Handler\StreamHandler; use Wikimedia\ObjectFactory; /** @@ -147,6 +148,17 @@ class MonologSpi implements Spi { $this->config[$key] = $value; } } + if ( !isset( $this->config['loggers']['@default'] ) ) { + $this->config['loggers']['@default'] = [ + 'handlers' => [ '@default' ], + ]; + if ( !isset( $this->config['handlers']['@default'] ) ) { + $this->config['handlers']['@default'] = [ + 'class' => StreamHandler::class, + 'args' => [ 'php://stderr', Logger::ERROR ], + ]; + } + } $this->reset(); } -- 2.20.1