mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-06 05:07:36 +02:00
Merge pull request #870 from tucksaun/fix-raven-handler-picking-wrong-event
Make the RavenHandler picks the first highest record as main
This commit is contained in:
@@ -84,7 +84,7 @@ class RavenHandler extends AbstractProcessingHandler
|
|||||||
|
|
||||||
// the record with the highest severity is the "main" one
|
// the record with the highest severity is the "main" one
|
||||||
$record = array_reduce($records, function ($highest, $record) {
|
$record = array_reduce($records, function ($highest, $record) {
|
||||||
if ($record['level'] >= $highest['level']) {
|
if ($record['level'] > $highest['level']) {
|
||||||
return $record;
|
return $record;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -195,6 +195,32 @@ class RavenHandlerTest extends TestCase
|
|||||||
$handler->handleBatch($records);
|
$handler->handleBatch($records);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testHandleBatchPicksProperMessage()
|
||||||
|
{
|
||||||
|
$records = array(
|
||||||
|
$this->getRecord(Logger::DEBUG, 'debug message 1'),
|
||||||
|
$this->getRecord(Logger::DEBUG, 'debug message 2'),
|
||||||
|
$this->getRecord(Logger::INFO, 'information 1'),
|
||||||
|
$this->getRecord(Logger::ERROR, 'error 1'),
|
||||||
|
$this->getRecord(Logger::WARNING, 'warning'),
|
||||||
|
$this->getRecord(Logger::ERROR, 'error 2'),
|
||||||
|
$this->getRecord(Logger::INFO, 'information 2'),
|
||||||
|
);
|
||||||
|
|
||||||
|
$logFormatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
|
||||||
|
$logFormatter->expects($this->once())->method('formatBatch');
|
||||||
|
|
||||||
|
$formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
|
||||||
|
$formatter->expects($this->once())->method('format')->with($this->callback(function ($record) use ($records) {
|
||||||
|
return $record['message'] == 'error 1';
|
||||||
|
}));
|
||||||
|
|
||||||
|
$handler = $this->getHandler($this->getRavenClient());
|
||||||
|
$handler->setBatchFormatter($logFormatter);
|
||||||
|
$handler->setFormatter($formatter);
|
||||||
|
$handler->handleBatch($records);
|
||||||
|
}
|
||||||
|
|
||||||
public function testGetSetBatchFormatter()
|
public function testGetSetBatchFormatter()
|
||||||
{
|
{
|
||||||
$ravenClient = $this->getRavenClient();
|
$ravenClient = $this->getRavenClient();
|
||||||
|
Reference in New Issue
Block a user