1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-05 04:37:38 +02:00

Merge pull request #936 from zerkms/MICRO_OPT_FOREACH_INSTEAD_OF_CURRENT/NEXT

Replaced current/next-style loop with foreach
This commit is contained in:
Jordi Boggiano
2017-03-17 23:08:00 +01:00
committed by GitHub

View File

@@ -281,14 +281,11 @@ class Logger implements LoggerInterface
{ {
// check if any handler will handle this message so we can return early and save cycles // check if any handler will handle this message so we can return early and save cycles
$handlerKey = null; $handlerKey = null;
reset($this->handlers); foreach ($this->handlers as $key => $handler) {
while ($handler = current($this->handlers)) {
if ($handler->isHandling(['level' => $level])) { if ($handler->isHandling(['level' => $level])) {
$handlerKey = key($this->handlers); $handlerKey = $key;
break; break;
} }
next($this->handlers);
} }
if (null === $handlerKey) { if (null === $handlerKey) {
@@ -311,6 +308,12 @@ class Logger implements LoggerInterface
$record = call_user_func($processor, $record); $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)) { while ($handler = current($this->handlers)) {
if (true === $handler->handle($record)) { if (true === $handler->handle($record)) {
break; break;