From 419ca7ac2562fe43941692ec442ce6d0398dfe10 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Sun, 9 Aug 2015 18:28:21 +0100 Subject: [PATCH] Tweak patch a bit, refs #617 --- src/Monolog/Logger.php | 13 ++++++------- tests/Monolog/LoggerTest.php | 4 ++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Monolog/Logger.php b/src/Monolog/Logger.php index 22a6ef17..d31a098b 100644 --- a/src/Monolog/Logger.php +++ b/src/Monolog/Logger.php @@ -176,19 +176,18 @@ class Logger implements LoggerInterface } /** - * Set handlers, removing all existing ones. - * Falsey values will be ignored, and if a map is passed, keys will be ignored. + * Set handlers, replacing all existing ones. * - * @param array $handlers All elements must be of type HandlerInterface + * If a map is passed, keys will be ignored. + * + * @param HandlerInterface[] $handlers * @return $this */ public function setHandlers(array $handlers) { $this->handlers = array(); - foreach ($handlers as $handler) { - if ($handler) { - $this->pushHandler($handler); - } + foreach (array_reverse($handlers) as $handler) { + $this->pushHandler($handler); } return $this; diff --git a/tests/Monolog/LoggerTest.php b/tests/Monolog/LoggerTest.php index d59549c1..b9ba6e99 100644 --- a/tests/Monolog/LoggerTest.php +++ b/tests/Monolog/LoggerTest.php @@ -156,11 +156,11 @@ class LoggerTest extends \PHPUnit_Framework_TestCase $logger->setHandlers(array( "AMapKey" => $handler1, - "Falsey" => null, + "Woop" => $handler2, )); // Keys have been scrubbed - $this->assertEquals(array($handler1), $logger->getHandlers()); + $this->assertEquals(array($handler1, $handler2), $logger->getHandlers()); } /**