diff --git a/src/Monolog/Handler/GroupHandler.php b/src/Monolog/Handler/GroupHandler.php index 0d0c9c9a..5f6d4344 100644 --- a/src/Monolog/Handler/GroupHandler.php +++ b/src/Monolog/Handler/GroupHandler.php @@ -81,8 +81,9 @@ class GroupHandler extends Handler implements ProcessableHandlerInterface, Reset $processed = []; foreach ($records as $record) { foreach ($this->processors as $processor) { - $processed[] = call_user_func($processor, $record); + $record = call_user_func($processor, $record); } + $processed[] = $record; } $records = $processed; } diff --git a/src/Monolog/Handler/StreamHandler.php b/src/Monolog/Handler/StreamHandler.php index dad7a6dc..2cee3f21 100644 --- a/src/Monolog/Handler/StreamHandler.php +++ b/src/Monolog/Handler/StreamHandler.php @@ -65,6 +65,7 @@ class StreamHandler extends AbstractProcessingHandler fclose($this->stream); } $this->stream = null; + $this->dirCreated = null; } /** diff --git a/src/Monolog/Handler/WhatFailureGroupHandler.php b/src/Monolog/Handler/WhatFailureGroupHandler.php index 5c1f86b1..e8abbd64 100644 --- a/src/Monolog/Handler/WhatFailureGroupHandler.php +++ b/src/Monolog/Handler/WhatFailureGroupHandler.php @@ -50,8 +50,9 @@ class WhatFailureGroupHandler extends GroupHandler $processed = array(); foreach ($records as $record) { foreach ($this->processors as $processor) { - $processed[] = call_user_func($processor, $record); + $record = call_user_func($processor, $record); } + $processed[] = $record; } $records = $processed; } diff --git a/tests/Monolog/Handler/GroupHandlerTest.php b/tests/Monolog/Handler/GroupHandlerTest.php index d0ffdf01..003c7014 100644 --- a/tests/Monolog/Handler/GroupHandlerTest.php +++ b/tests/Monolog/Handler/GroupHandlerTest.php @@ -99,6 +99,11 @@ class GroupHandlerTest extends TestCase return $record; }); + $handler->pushProcessor(function ($record) { + $record['extra']['foo2'] = true; + + return $record; + }); $handler->handleBatch([$this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)]); foreach ($testHandlers as $test) { $this->assertTrue($test->hasDebugRecords()); @@ -107,6 +112,8 @@ class GroupHandlerTest extends TestCase $records = $test->getRecords(); $this->assertTrue($records[0]['extra']['foo']); $this->assertTrue($records[1]['extra']['foo']); + $this->assertTrue($records[0]['extra']['foo2']); + $this->assertTrue($records[1]['extra']['foo2']); } } } diff --git a/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php b/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php index 475889e2..6aacdde5 100644 --- a/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php +++ b/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php @@ -99,6 +99,11 @@ class WhatFailureGroupHandlerTest extends TestCase return $record; }); + $handler->pushProcessor(function ($record) { + $record['extra']['foo2'] = true; + + return $record; + }); $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO))); foreach ($testHandlers as $test) { $this->assertTrue($test->hasDebugRecords()); @@ -107,6 +112,8 @@ class WhatFailureGroupHandlerTest extends TestCase $records = $test->getRecords(); $this->assertTrue($records[0]['extra']['foo']); $this->assertTrue($records[1]['extra']['foo']); + $this->assertTrue($records[0]['extra']['foo2']); + $this->assertTrue($records[1]['extra']['foo2']); } }