From a263b8d915ba5dcbbe301a5ef6496e64861645a2 Mon Sep 17 00:00:00 2001 From: Bryan Davis Date: Tue, 15 Nov 2016 15:18:08 -0700 Subject: [PATCH] Throttler: improve log message compatibility with Monolog logger The `type` log event attribute is used in Wikimedia production logging to categorize log events by source (e.g. 'mediawiki', 'restbase', etc). Adding a `type` key to the logging context overwrites the default value of 'mediawiki'. Rename the key to `throttle` in the context and the message template. Change-Id: Ic274159774e43a8749f83c850fff7897956cf377 --- includes/auth/Throttler.php | 4 ++-- tests/phpunit/includes/auth/ThrottlerTest.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/auth/Throttler.php b/includes/auth/Throttler.php index f47c60655f..000b070522 100644 --- a/includes/auth/Throttler.php +++ b/includes/auth/Throttler.php @@ -135,7 +135,7 @@ class Throttler implements LoggerAwareInterface { $this->cache->incr( $throttleKey ); } else { // throttled $this->logRejection( [ - 'type' => $this->type, + 'throttle' => $this->type, 'index' => $index, 'ip' => $ipKey, 'username' => $username, @@ -191,7 +191,7 @@ class Throttler implements LoggerAwareInterface { } protected function logRejection( array $context ) { - $logMsg = 'Throttle {type} hit, throttled for {expiry} seconds due to {count} attempts ' + $logMsg = 'Throttle {throttle} hit, throttled for {expiry} seconds due to {count} attempts ' . 'from username {username} and IP {ip}'; // If we are hitting a throttle for >= warningLimit attempts, it is much more likely to be diff --git a/tests/phpunit/includes/auth/ThrottlerTest.php b/tests/phpunit/includes/auth/ThrottlerTest.php index 5806003f64..c945885c76 100644 --- a/tests/phpunit/includes/auth/ThrottlerTest.php +++ b/tests/phpunit/includes/auth/ThrottlerTest.php @@ -196,7 +196,7 @@ class ThrottlerTest extends \MediaWikiTestCase { ->setMethods( [ 'log' ] ) ->getMockForAbstractClass(); $logger->expects( $this->once() )->method( 'log' )->with( $this->anything(), $this->anything(), [ - 'type' => 'custom', + 'throttle' => 'custom', 'index' => 0, 'ip' => '1.2.3.4', 'username' => 'SomeUser', -- 2.20.1