From c8b1e0e78928865e7fd34c9a2a6ee6272a92f8f6 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Mon, 6 Feb 2023 14:43:38 +0100 Subject: [PATCH] Fix serialization implementation --- src/Monolog/Logger.php | 2 +- tests/Monolog/LoggerTest.php | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Monolog/Logger.php b/src/Monolog/Logger.php index 5186f576..3fa4a1ec 100644 --- a/src/Monolog/Logger.php +++ b/src/Monolog/Logger.php @@ -741,7 +741,7 @@ class Logger implements LoggerInterface, ResettableInterface { foreach (['name', 'handlers', 'processors', 'microsecondTimestamps', 'timezone', 'exceptionHandler', 'logDepth', 'detectCycles'] as $property) { if (isset($data[$property])) { - $this->$property = $data; + $this->$property = $data[$property]; } } diff --git a/tests/Monolog/LoggerTest.php b/tests/Monolog/LoggerTest.php index 60c04a4f..8d5d6ac4 100644 --- a/tests/Monolog/LoggerTest.php +++ b/tests/Monolog/LoggerTest.php @@ -700,7 +700,11 @@ class LoggerTest extends \PHPUnit\Framework\TestCase public function testSerializable() { $logger = new Logger(__METHOD__); - self::assertInstanceOf(Logger::class, unserialize(serialize($logger))); + $copy = unserialize(serialize($logger)); + self::assertInstanceOf(Logger::class, $copy); + self::assertSame($logger->getName(), $copy->getName()); + self::assertSame($logger->getTimezone()->getName(), $copy->getTimezone()->getName()); + self::assertSame($logger->getHandlers(), $copy->getHandlers()); } public function testReset()