|
|
@@ -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;
|