jenkins-bot has submitted this change and it was merged. Change subject: Warn when a log context accidentally overrides a log processor ......................................................................
Warn when a log context accidentally overrides a log processor Bug: T145133 Change-Id: I6677dbf608aac1d7fd6036f5e51977d56ce2fc57 --- M includes/debug/logger/monolog/WikiProcessor.php 1 file changed, 20 insertions(+), 1 deletion(-) Approvals: BryanDavis: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/debug/logger/monolog/WikiProcessor.php b/includes/debug/logger/monolog/WikiProcessor.php index ad939a0..81e1e14 100644 --- a/includes/debug/logger/monolog/WikiProcessor.php +++ b/includes/debug/logger/monolog/WikiProcessor.php @@ -29,6 +29,17 @@ * @copyright © 2013 Bryan Davis and Wikimedia Foundation. */ class WikiProcessor { + /** @var array Keys which should not be used in log context */ + protected $reservedKeys = [ + // from monolog:src/Monolog/Formatter/LogstashFormatter.php#L71-L88 + 'message', 'channel', 'level', 'type', + // from WebProcessor + 'url', 'ip', 'http_method', 'server', 'referrer', + // from WikiProcessor + 'host', 'wiki', 'reqId', 'mwversion', + // from config magic + 'normalized_message', + ]; /** * @param array $record @@ -36,6 +47,15 @@ */ public function __invoke( array $record ) { global $wgVersion; + + // some log aggregators such as Logstash will merge the log context into the main + // metadata and end up overwriting the data coming from processors + foreach ( $this->reservedKeys as $key ) { + if ( isset( $record['context'][$key] ) ) { + wfLogWarning( __METHOD__ . ": '$key' key overwritten in log context." ); + } + } + $record['extra'] = array_merge( $record['extra'], [ @@ -47,5 +67,4 @@ ); return $record; } - } -- To view, visit https://gerrit.wikimedia.org/r/313932 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6677dbf608aac1d7fd6036f5e51977d56ce2fc57 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Gergő Tisza <gti...@wikimedia.org> Gerrit-Reviewer: Anomie <bjor...@wikimedia.org> Gerrit-Reviewer: BryanDavis <bda...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits