Gergő Tisza has uploaded a new change for review.
https://gerrit.wikimedia.org/r/323446
Change subject: Improve logging of exceptions which are not thrown but attached
to context
......................................................................
Improve logging of exceptions which are not thrown but attached to context
Bug: T151290
Change-Id: I9cc9f54c2987cf960343b5eca2a1c6d006b892bf
---
M autoload.php
M includes/debug/logger/monolog/LogstashFormatter.php
2 files changed, 28 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/46/323446/1
diff --git a/autoload.php b/autoload.php
index 30ef985..f0bbe92 100644
--- a/autoload.php
+++ b/autoload.php
@@ -875,6 +875,7 @@
'MediaWiki\\Logger\\Monolog\\LegacyFormatter' => __DIR__ .
'/includes/debug/logger/monolog/LegacyFormatter.php',
'MediaWiki\\Logger\\Monolog\\LegacyHandler' => __DIR__ .
'/includes/debug/logger/monolog/LegacyHandler.php',
'MediaWiki\\Logger\\Monolog\\LineFormatter' => __DIR__ .
'/includes/debug/logger/monolog/LineFormatter.php',
+ 'MediaWiki\\Logger\\Monolog\\LogstashFormatter' => __DIR__ .
'/includes/debug/logger/monolog/LogstashFormatter.php',
'MediaWiki\\Logger\\Monolog\\SyslogHandler' => __DIR__ .
'/includes/debug/logger/monolog/SyslogHandler.php',
'MediaWiki\\Logger\\Monolog\\WikiProcessor' => __DIR__ .
'/includes/debug/logger/monolog/WikiProcessor.php',
'MediaWiki\\Logger\\NullSpi' => __DIR__ .
'/includes/debug/logger/NullSpi.php',
diff --git a/includes/debug/logger/monolog/LogstashFormatter.php
b/includes/debug/logger/monolog/LogstashFormatter.php
index 8d37037..77ab771 100644
--- a/includes/debug/logger/monolog/LogstashFormatter.php
+++ b/includes/debug/logger/monolog/LogstashFormatter.php
@@ -69,4 +69,31 @@
$message[$key] = $val;
}
}
+
+ /**
+ * Use a more user-friendly trace format than NormalizerFormatter
+ * @param \Exception|\Throwable $e
+ * @return array
+ */
+ protected function normalizeException( $e ) {
+ if ( !$e instanceof \Exception && !$e instanceof \Throwable ) {
+ throw new \InvalidArgumentException(
'Exception/Throwable expected, got '
+ . gettype( $e ) . ' / ' . get_class( $e ) );
+ }
+
+ $data = [
+ 'id' => \WebRequest::getRequestId(),
+ 'class' => get_class( $e ),
+ 'message' => $e->getMessage(),
+ 'code' => $e->getCode(),
+ 'file' => $e->getFile() . ':' . $e->getLine(),
+ 'trace' =>
\MWExceptionHandler::getRedactedTraceAsString( $e ),
+ ];
+
+ if ( $previous = $e->getPrevious() ) {
+ $data['previous'] = $this->normalizeException(
$previous );
+ }
+
+ return $data;
+ }
}
--
To view, visit https://gerrit.wikimedia.org/r/323446
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9cc9f54c2987cf960343b5eca2a1c6d006b892bf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Gergő Tisza <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits