From 0e3a4bf48b6025ff4be69f7303e9ca648975144e Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 12 Apr 2016 19:02:03 +0100 Subject: [PATCH] Fix bug when messages contain colons --- src/Monolog/Handler/DeduplicationHandler.php | 2 +- tests/Monolog/Handler/DeduplicationHandlerTest.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Monolog/Handler/DeduplicationHandler.php b/src/Monolog/Handler/DeduplicationHandler.php index 96b29e15..740ed5ae 100644 --- a/src/Monolog/Handler/DeduplicationHandler.php +++ b/src/Monolog/Handler/DeduplicationHandler.php @@ -117,7 +117,7 @@ class DeduplicationHandler extends BufferHandler $line = $record['level_name'] . ':' . $record['message']; for ($i = count($store) - 1; $i >= 0; $i--) { - list($timestamp, $level, $message) = explode(':', $store[$i]); + list($timestamp, $level, $message) = explode(':', $store[$i], 3); if ($level === $record['level_name'] && $message === $record['message'] && $timestamp > $timestampValidity) { return true; diff --git a/tests/Monolog/Handler/DeduplicationHandlerTest.php b/tests/Monolog/Handler/DeduplicationHandlerTest.php index 922c0b12..7ca8dd99 100644 --- a/tests/Monolog/Handler/DeduplicationHandlerTest.php +++ b/tests/Monolog/Handler/DeduplicationHandlerTest.php @@ -45,7 +45,7 @@ class DeduplicationHandlerTest extends TestCase @unlink(sys_get_temp_dir().'/monolog_dedup.log'); $handler = new DeduplicationHandler($test, sys_get_temp_dir().'/monolog_dedup.log', 0); - $handler->handle($this->getRecord(Logger::ERROR)); + $handler->handle($this->getRecord(Logger::ERROR, 'Foo:bar')); $handler->handle($this->getRecord(Logger::CRITICAL)); $handler->flush(); @@ -66,7 +66,7 @@ class DeduplicationHandlerTest extends TestCase $test = new TestHandler(); $handler = new DeduplicationHandler($test, sys_get_temp_dir().'/monolog_dedup.log', 0); - $handler->handle($this->getRecord(Logger::ERROR)); + $handler->handle($this->getRecord(Logger::ERROR, 'Foo:bar')); $handler->handle($this->getRecord(Logger::CRITICAL)); $handler->flush();