From ff4d9176d0e55163756a7b760f6e7fbc809e2377 Mon Sep 17 00:00:00 2001 From: Dmitrii Raev Date: Wed, 22 Apr 2015 11:44:08 +0300 Subject: [PATCH 1/3] Update NormalizerFormatter.php Some objects implement magic __toString method Allow to print this kind of objects in the logger --- src/Monolog/Formatter/NormalizerFormatter.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Monolog/Formatter/NormalizerFormatter.php b/src/Monolog/Formatter/NormalizerFormatter.php index 654e7901..755bc4a3 100644 --- a/src/Monolog/Formatter/NormalizerFormatter.php +++ b/src/Monolog/Formatter/NormalizerFormatter.php @@ -94,7 +94,11 @@ class NormalizerFormatter implements FormatterInterface return $this->normalizeException($data); } - return sprintf("[object] (%s: %s)", get_class($data), $this->toJson($data, true)); + if (method_exists($data, '__toString')) { + return sprintf("[object] (%s: %s)", get_class($data), $data); + } else { + return sprintf("[object] (%s: %s)", get_class($data), $this->toJson($data, true)); + } } if (is_resource($data)) { From 57bd24da69117b44c6159fa5717c753abe19dbb5 Mon Sep 17 00:00:00 2001 From: Dmitrii Raev Date: Thu, 23 Apr 2015 23:52:30 +0300 Subject: [PATCH 2/3] Fix jsonserializable behavior --- src/Monolog/Formatter/NormalizerFormatter.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Monolog/Formatter/NormalizerFormatter.php b/src/Monolog/Formatter/NormalizerFormatter.php index 755bc4a3..81b9bb83 100644 --- a/src/Monolog/Formatter/NormalizerFormatter.php +++ b/src/Monolog/Formatter/NormalizerFormatter.php @@ -94,11 +94,12 @@ class NormalizerFormatter implements FormatterInterface return $this->normalizeException($data); } - if (method_exists($data, '__toString')) { - return sprintf("[object] (%s: %s)", get_class($data), $data); - } else { - return sprintf("[object] (%s: %s)", get_class($data), $this->toJson($data, true)); + $objData = $this->toJson($data, true);; + if(!$objData and method_exists($data, '__toString')) { + $objData = $data; } + + return sprintf("[object] (%s: %s)", get_class($data), $objData); } if (is_resource($data)) { From b1f2e2f5ec7435b7c0e3072c01201b42166c2c9c Mon Sep 17 00:00:00 2001 From: Dmitrii Raev Date: Thu, 23 Apr 2015 23:54:00 +0300 Subject: [PATCH 3/3] =?UTF-8?q?Change=20Test..=20=D0=BD=D0=BE=20=5F=5FtoSt?= =?UTF-8?q?ring=20method=20called..?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/Monolog/Formatter/NormalizerFormatterTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Monolog/Formatter/NormalizerFormatterTest.php b/tests/Monolog/Formatter/NormalizerFormatterTest.php index 75dae895..3ab77a81 100644 --- a/tests/Monolog/Formatter/NormalizerFormatterTest.php +++ b/tests/Monolog/Formatter/NormalizerFormatterTest.php @@ -207,7 +207,7 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase ); if (version_compare(PHP_VERSION, '5.5.0', '>=')) { - $pattern = '%"wrappedResource":"\[object\] \(Monolog\\\\\\\\Formatter\\\\\\\\TestStreamFoo: \)"%'; + $pattern = '%"wrappedResource":"\[object\] \(Monolog\\\\\\\\Formatter\\\\\\\\TestStreamFoo: BAR - test_resource\)"%'; } else { $pattern = '%\\\\"resource\\\\":null%'; }