Skip to content

Commit 1adbed5

Browse files
author
GreYY
committed
Fix create duplicate records in *GroupHandler
1 parent 4d5b7e6 commit 1adbed5

File tree

4 files changed

+18
-2
lines changed

4 files changed

+18
-2
lines changed

src/Monolog/Handler/GroupHandler.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,9 @@ public function handleBatch(array $records)
8080
$processed = array();
8181
foreach ($records as $record) {
8282
foreach ($this->processors as $processor) {
83-
$processed[] = call_user_func($processor, $record);
83+
$record = call_user_func($processor, $record);
8484
}
85+
$processed[] = $record;
8586
}
8687
$records = $processed;
8788
}

src/Monolog/Handler/WhatFailureGroupHandler.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ public function handleBatch(array $records)
5252
$processed = array();
5353
foreach ($records as $record) {
5454
foreach ($this->processors as $processor) {
55-
$processed[] = call_user_func($processor, $record);
55+
$record = call_user_func($processor, $record);
5656
}
57+
$processed[] = $record;
5758
}
5859
$records = $processed;
5960
}

tests/Monolog/Handler/GroupHandlerTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ public function testHandleBatchUsesProcessors()
9999

100100
return $record;
101101
});
102+
$handler->pushProcessor(function ($record) {
103+
$record['extra']['foo2'] = true;
104+
105+
return $record;
106+
});
102107
$handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
103108
foreach ($testHandlers as $test) {
104109
$this->assertTrue($test->hasDebugRecords());
@@ -107,6 +112,8 @@ public function testHandleBatchUsesProcessors()
107112
$records = $test->getRecords();
108113
$this->assertTrue($records[0]['extra']['foo']);
109114
$this->assertTrue($records[1]['extra']['foo']);
115+
$this->assertTrue($records[0]['extra']['foo2']);
116+
$this->assertTrue($records[1]['extra']['foo2']);
110117
}
111118
}
112119
}

tests/Monolog/Handler/WhatFailureGroupHandlerTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ public function testHandleBatchUsesProcessors()
9999

100100
return $record;
101101
});
102+
$handler->pushProcessor(function ($record) {
103+
$record['extra']['foo2'] = true;
104+
105+
return $record;
106+
});
102107
$handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
103108
foreach ($testHandlers as $test) {
104109
$this->assertTrue($test->hasDebugRecords());
@@ -107,6 +112,8 @@ public function testHandleBatchUsesProcessors()
107112
$records = $test->getRecords();
108113
$this->assertTrue($records[0]['extra']['foo']);
109114
$this->assertTrue($records[1]['extra']['foo']);
115+
$this->assertTrue($records[0]['extra']['foo2']);
116+
$this->assertTrue($records[1]['extra']['foo2']);
110117
}
111118
}
112119

0 commit comments

Comments
 (0)