diff options
author | Jordi Boggiano <j.boggiano@seld.be> | 2017-03-17 23:08:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-17 23:08:00 +0100 |
commit | d9462d50b07b1e141c47513f2a859fe76e45dbe9 (patch) | |
tree | d9765e81a042d0a67626a3a95e6c5f3863f40049 | |
parent | 772a470c1afa002cbf97b4d0a625a638674fd686 (diff) | |
parent | 59d3df2f3870c274c32f769e9814837a144aca30 (diff) | |
download | monolog-d9462d50b07b1e141c47513f2a859fe76e45dbe9.zip monolog-d9462d50b07b1e141c47513f2a859fe76e45dbe9.tar.gz monolog-d9462d50b07b1e141c47513f2a859fe76e45dbe9.tar.bz2 |
Merge pull request #936 from zerkms/MICRO_OPT_FOREACH_INSTEAD_OF_CURRENT/NEXT
Replaced current/next-style loop with foreach
-rw-r--r-- | src/Monolog/Logger.php | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/Monolog/Logger.php b/src/Monolog/Logger.php index f942c1a..bfbe20c 100644 --- a/src/Monolog/Logger.php +++ b/src/Monolog/Logger.php @@ -281,14 +281,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,6 +308,12 @@ class Logger implements LoggerInterface $record = call_user_func($processor, $record); } + // advance the array pointer to the first handler that will handle this record + reset($this->handlers); + while ($handlerKey !== key($this->handlers)) { + next($this->handlers); + } + while ($handler = current($this->handlers)) { if (true === $handler->handle($record)) { break; |