Просмотр исходного кода

Merge pull request #244 from Wurzel3/raven_batch

get record with highest log level in raven batch
Jordi Boggiano 12 лет назад
Родитель
Сommit
b5fa119527

+ 3 - 3
src/Monolog/Handler/RavenHandler.php

@@ -80,10 +80,10 @@ 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']) {
-                $highest = $record;
-
-                return $highest;
+                return $record;
             }
+
+            return $highest;
         });
 
         // the other ones are added as a context item

+ 5 - 1
tests/Monolog/Handler/RavenHandlerTest.php

@@ -92,12 +92,16 @@ class RavenHandlerTest extends TestCase
     public function testHandleBatch()
     {
         $records = $this->getMultipleRecords();
+        $records[] = $this->getRecord(Logger::WARNING, 'warning');
+        $records[] = $this->getRecord(Logger::WARNING, 'warning');
 
         $logFormatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
         $logFormatter->expects($this->once())->method('formatBatch');
 
         $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
-        $formatter->expects($this->once())->method('format');
+        $formatter->expects($this->once())->method('format')->with($this->callback(function($record) {
+            return $record['level'] == 400;
+        }));
 
         $handler = $this->getHandler($this->getRavenClient());
         $handler->setBatchFormatter($logFormatter);