mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-05 12:47:39 +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
|
||||
$record = array_reduce($records, function ($highest, $record) {
|
||||
if ($record['level'] >= $highest['level']) {
|
||||
if ($record['level'] > $highest['level']) {
|
||||
return $record;
|
||||
}
|
||||
|
||||
|
@@ -195,6 +195,32 @@ class RavenHandlerTest extends TestCase
|
||||
$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()
|
||||
{
|
||||
$ravenClient = $this->getRavenClient();
|
||||
|
Reference in New Issue
Block a user