Prechádzať zdrojové kódy

Pass $record['formatted'] as the user parameter for zend monitor. Refactored test.

ChristianB 13 rokov pred
rodič
commit
83b84ff818

+ 8 - 5
src/Monolog/Handler/ZendMonitorHandler.php

@@ -61,9 +61,11 @@ class ZendMonitorHandler extends AbstractProcessingHandler
     protected function write(array $record)
     {
         if ($this->isZendServer()) {
-            $formatter = $this->getDefaultFormatter();
-            $record = $formatter->format($record);
-            $this->writeZendMonitorCustomEvent($this->levelMap[$record['level']], $record['message']);
+            $this->writeZendMonitorCustomEvent(
+                $this->levelMap[$record['level']],
+                $record['message'],
+                $record['formatted']
+            );
         }
     }
 
@@ -72,10 +74,11 @@ class ZendMonitorHandler extends AbstractProcessingHandler
      *
      * @param   int     $level
      * @param   string  $message
+     * @param   array   $formatted
      */
-    protected function writeZendMonitorCustomEvent($level, $message)
+    protected function writeZendMonitorCustomEvent($level, $message, $formatted)
     {
-        zend_monitor_custom_event($level, $message);
+        zend_monitor_custom_event($level, $message, $formatted);
     }
 
     /**

+ 19 - 4
tests/Monolog/Handler/ZendMonitorHandlerTest.php

@@ -40,16 +40,31 @@ class ZendMonitorHandlerTest extends TestCase
     public function testWrite()
     {
         $record = $this->getRecord();
+        $formatterResult = array(
+            'message' => $record['message']
+        );
 
         $zendMonitor = $this->getMockBuilder('Monolog\Handler\ZendMonitorHandler')
-                            ->setMethods(array('writeZendMonitorCustomEvent'))
-                            ->getMock();
+            ->setMethods(array('writeZendMonitorCustomEvent', 'getDefaultFormatter'))
+            ->getMock();
+
+        $formatterMock = $this->getMockBuilder('Monolog\Formatter\NormalizerFormatter')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $formatterMock->expects($this->once())
+            ->method('format')
+            ->will($this->returnValue($formatterResult));
+
+        $zendMonitor->expects($this->once())
+            ->method('getDefaultFormatter')
+            ->will($this->returnValue($formatterMock));
 
         $levelMap = $zendMonitor->getLevelMap();
 
         $zendMonitor->expects($this->once())
-                    ->method('writeZendMonitorCustomEvent')
-                    ->with($levelMap[$record['level']], $record['message']);
+            ->method('writeZendMonitorCustomEvent')
+            ->with($levelMap[$record['level']], $record['message'], $formatterResult);
 
         $zendMonitor->handle($record);
     }