From 1adbed5c9272b683f0c246c9518b5689bfcad318 Mon Sep 17 00:00:00 2001 From: GreYY <> Date: Fri, 25 Jan 2019 13:06:55 +0200 Subject: [PATCH 1/2] Fix create duplicate records in *GroupHandler --- src/Monolog/Handler/GroupHandler.php | 3 ++- src/Monolog/Handler/WhatFailureGroupHandler.php | 3 ++- tests/Monolog/Handler/GroupHandlerTest.php | 7 +++++++ tests/Monolog/Handler/WhatFailureGroupHandlerTest.php | 7 +++++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Monolog/Handler/GroupHandler.php b/src/Monolog/Handler/GroupHandler.php index 28e5c564..0d461f9c 100644 --- a/src/Monolog/Handler/GroupHandler.php +++ b/src/Monolog/Handler/GroupHandler.php @@ -80,8 +80,9 @@ class GroupHandler extends AbstractHandler $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/src/Monolog/Handler/WhatFailureGroupHandler.php b/src/Monolog/Handler/WhatFailureGroupHandler.php index 6bc4671c..7d7622a3 100644 --- a/src/Monolog/Handler/WhatFailureGroupHandler.php +++ b/src/Monolog/Handler/WhatFailureGroupHandler.php @@ -52,8 +52,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 a1b86176..e20be64b 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(array($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 0594a232..1eb3f55f 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']); } } From ab7e54e7df2a798bec317734a332642e88f9127a Mon Sep 17 00:00:00 2001 From: yasutomog Date: Fri, 5 Apr 2019 19:10:59 +0900 Subject: [PATCH 2/2] For when the date changes during a long process. --- src/Monolog/Handler/StreamHandler.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Monolog/Handler/StreamHandler.php b/src/Monolog/Handler/StreamHandler.php index a35b7e4c..27d90e06 100644 --- a/src/Monolog/Handler/StreamHandler.php +++ b/src/Monolog/Handler/StreamHandler.php @@ -63,6 +63,7 @@ class StreamHandler extends AbstractProcessingHandler fclose($this->stream); } $this->stream = null; + $this->dirCreated = null; } /**