From e1af546a55723e3e83b1e3193aa29b51cdae6735 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 12 Nov 2019 20:48:30 +0100 Subject: [PATCH] Handle detail key of SoapFault being an object, fixes #1391 --- src/Monolog/Formatter/NormalizerFormatter.php | 4 ++-- tests/Monolog/Formatter/NormalizerFormatterTest.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Monolog/Formatter/NormalizerFormatter.php b/src/Monolog/Formatter/NormalizerFormatter.php index 867f6fb7..8205d266 100644 --- a/src/Monolog/Formatter/NormalizerFormatter.php +++ b/src/Monolog/Formatter/NormalizerFormatter.php @@ -142,8 +142,8 @@ class NormalizerFormatter implements FormatterInterface $data['faultactor'] = $e->faultactor; } - if (isset($e->detail)) { - $data['detail'] = $e->detail; + if (isset($e->detail) && (is_string($e->detail) || is_object($e->detail) || is_array($e->detail))) { + $data['detail'] = is_string($e->detail) ? $e->detail : reset($e->detail); } } diff --git a/tests/Monolog/Formatter/NormalizerFormatterTest.php b/tests/Monolog/Formatter/NormalizerFormatterTest.php index d4e0d98d..986daa62 100644 --- a/tests/Monolog/Formatter/NormalizerFormatterTest.php +++ b/tests/Monolog/Formatter/NormalizerFormatterTest.php @@ -92,7 +92,7 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase } $formatter = new NormalizerFormatter('Y-m-d'); - $e = new \SoapFault('foo', 'bar', 'hello', 'world'); + $e = new \SoapFault('foo', 'bar', 'hello', (object) ['foo' => 'world']); $formatted = $formatter->format(array( 'exception' => $e, ));