From 7f7d5e1f4427ccb9ec3cfe71e6c3d88f322c3598 Mon Sep 17 00:00:00 2001 From: Ivan Kurnosov Date: Mon, 27 Feb 2017 14:38:27 +1300 Subject: [PATCH] Replaced current/next-style loop with foreach --- src/Monolog/Logger.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Monolog/Logger.php b/src/Monolog/Logger.php index 8d63cc7b..6e76e06a 100644 --- a/src/Monolog/Logger.php +++ b/src/Monolog/Logger.php @@ -283,14 +283,11 @@ class Logger implements LoggerInterface // check if any handler will handle this message so we can return early and save cycles $handlerKey = null; - reset($this->handlers); - while ($handler = current($this->handlers)) { + foreach ($this->handlers as $key => $handler) { if ($handler->isHandling(['level' => $level])) { - $handlerKey = key($this->handlers); + $handlerKey = $key; break; } - - next($this->handlers); } if (null === $handlerKey) { @@ -311,7 +308,17 @@ class Logger implements LoggerInterface $record = call_user_func($processor, $record); } + reset($this->handlers); + $skip = true; while ($handler = current($this->handlers)) { + if ($skip) { + if ($key !== key($this->handlers)) { + next($this->handlers); + continue; + } + $skip = false; + } + if (true === $handler->handle($record)) { break; }