diff --git a/src/Monolog/Handler/FingersCrossedHandler.php b/src/Monolog/Handler/FingersCrossedHandler.php index ce2a3a8e..888ec998 100644 --- a/src/Monolog/Handler/FingersCrossedHandler.php +++ b/src/Monolog/Handler/FingersCrossedHandler.php @@ -181,9 +181,8 @@ class FingersCrossedHandler extends Handler implements ProcessableHandlerInterfa private function flushBuffer(): void { if (null !== $this->passthruLevel) { - $level = $this->passthruLevel; - $this->buffer = array_filter($this->buffer, function ($record) use ($level) { - return $record->level >= $level; + $this->buffer = array_filter($this->buffer, function ($record) { + return $this->passthruLevel->includes($record->level); }); if (count($this->buffer) > 0) { $this->getHandler(end($this->buffer))->handleBatch($this->buffer); diff --git a/tests/Monolog/Handler/FingersCrossedHandlerTest.php b/tests/Monolog/Handler/FingersCrossedHandlerTest.php index 702a5f08..ba01b9f6 100644 --- a/tests/Monolog/Handler/FingersCrossedHandlerTest.php +++ b/tests/Monolog/Handler/FingersCrossedHandlerTest.php @@ -259,9 +259,11 @@ class FingersCrossedHandlerTest extends TestCase $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy(Level::Warning), 0, true, true, Level::Info); $handler->handle($this->getRecord(Level::Debug)); $handler->handle($this->getRecord(Level::Info)); + $handler->handle($this->getRecord(Level::Notice)); $handler->close(); $this->assertFalse($test->hasDebugRecords()); $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue($test->hasNoticeRecords()); } /** @@ -273,8 +275,10 @@ class FingersCrossedHandlerTest extends TestCase $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy(Level::Warning), 0, true, true, LogLevel::INFO); $handler->handle($this->getRecord(Level::Debug)); $handler->handle($this->getRecord(Level::Info)); + $handler->handle($this->getRecord(Level::Notice)); $handler->close(); $this->assertFalse($test->hasDebugRecords()); $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue($test->hasNoticeRecords()); } }