From 20829231758e96f6e9a39a86ef6ffac38641f4df Mon Sep 17 00:00:00 2001 From: Bryan Davis Date: Fri, 30 Sep 2016 17:54:45 -0600 Subject: [PATCH] LegacyLogger: Be consistent about converting log levels to int Normalize $level arguments to integers early to avoid confusion later about what type the argument is. Change-Id: I7305c0514f4383ec552afea2deb0e3fc6ba3fe8a --- includes/debug/logger/LegacyLogger.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/includes/debug/logger/LegacyLogger.php b/includes/debug/logger/LegacyLogger.php index 0ca20bb296..4d7c84d5c6 100644 --- a/includes/debug/logger/LegacyLogger.php +++ b/includes/debug/logger/LegacyLogger.php @@ -94,6 +94,9 @@ class LegacyLogger extends AbstractLogger { * @return null */ public function log( $level, $message, array $context = [] ) { + if ( is_string( $level ) ) { + $level = self::$levelMapping[$level]; + } if ( $this->channel === 'DBQuery' && isset( $context['method'] ) && isset( $context['master'] ) && isset( $context['runtime'] ) ) { @@ -102,8 +105,7 @@ class LegacyLogger extends AbstractLogger { } if ( isset( self::$dbChannels[$this->channel] ) - && isset( self::$levelMapping[$level] ) - && self::$levelMapping[$level] >= self::$levelMapping[LogLevel::ERROR] + && $level >= self::$levelMapping[LogLevel::ERROR] ) { // Format and write DB errors to the legacy locations $effectiveChannel = 'wfLogDBError'; @@ -127,7 +129,7 @@ class LegacyLogger extends AbstractLogger { * * @param string $channel * @param string $message - * @param string|int $level \Psr\Log\LogEvent constant or Monlog level int + * @param string|int $level \Psr\Log\LogEvent constant or Monolog level int * @param array $context * @return bool True if message should be sent to disk/network, false * otherwise @@ -135,6 +137,10 @@ class LegacyLogger extends AbstractLogger { public static function shouldEmit( $channel, $message, $level, $context ) { global $wgDebugLogFile, $wgDBerrorLog, $wgDebugLogGroups; + if ( is_string( $level ) ) { + $level = self::$levelMapping[$level]; + } + if ( $channel === 'wfLogDBError' ) { // wfLogDBError messages are emitted if a database log location is // specfied. @@ -162,9 +168,6 @@ class LegacyLogger extends AbstractLogger { } if ( isset( $logConfig['level'] ) ) { - if ( is_string( $level ) ) { - $level = self::$levelMapping[$level]; - } $shouldEmit = $level >= self::$levelMapping[$logConfig['level']]; } } else { -- 2.20.1