diff --git a/src/Monolog/Handler/FilterHandler.php b/src/Monolog/Handler/FilterHandler.php index 2d7a648e..36e2cd0f 100644 --- a/src/Monolog/Handler/FilterHandler.php +++ b/src/Monolog/Handler/FilterHandler.php @@ -185,5 +185,9 @@ class FilterHandler extends Handler implements ProcessableHandlerInterface, Rese public function reset() { $this->resetProcessors(); + + if ($this->getHandler() instanceof ResettableInterface) { + $this->getHandler()->reset(); + } } } diff --git a/tests/Monolog/Handler/FilterHandlerTest.php b/tests/Monolog/Handler/FilterHandlerTest.php index d91a5777..6058fade 100644 --- a/tests/Monolog/Handler/FilterHandlerTest.php +++ b/tests/Monolog/Handler/FilterHandlerTest.php @@ -180,4 +180,27 @@ class FilterHandlerTest extends TestCase $handler->handleBatch(array()); $this->assertSame(array(), $test->getRecords()); } + + /** + * @covers Monolog\Handler\FilterHandler::handle + * @covers Monolog\Handler\FilterHandler::reset + */ + public function testResetTestHandler() + { + $test = new TestHandler(); + $handler = new FilterHandler($test, [Logger::INFO, Logger::ERROR]); + + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertTrue($test->hasInfoRecords()); + + $handler->handle($this->getRecord(Logger::ERROR)); + $this->assertTrue($test->hasErrorRecords()); + + $handler->reset(); + + $this->assertFalse($test->hasInfoRecords()); + $this->assertFalse($test->hasInfoRecords()); + + $this->assertSame(array(), $test->getRecords()); + } }