2
0
Эх сурвалжийг харах

Merge pull request #247 from mpdude/patch-1

Add Apache mod_unique_id's identifier in WebProcessor
Jordi Boggiano 12 жил өмнө
parent
commit
79cafca800

+ 4 - 0
src/Monolog/Processor/WebProcessor.php

@@ -57,6 +57,10 @@ class WebProcessor
             )
         );
 
+        if (isset($this->serverData['UNIQUE_ID'])) {
+            $record['extra']['unique_id'] = $this->serverData['UNIQUE_ID'];
+        }
+
         return $record;
     }
 }

+ 2 - 1
tests/Monolog/Handler/AbstractProcessingHandlerTest.php

@@ -65,6 +65,7 @@ class AbstractProcessingHandlerTest extends TestCase
             'REQUEST_METHOD' => '',
             'REMOTE_ADDR' => '',
             'SERVER_NAME' => '',
+            'UNIQUE_ID' => '',
         )));
         $handledRecord = null;
         $handler->expects($this->once())
@@ -74,6 +75,6 @@ class AbstractProcessingHandlerTest extends TestCase
             }))
         ;
         $handler->handle($this->getRecord());
-        $this->assertEquals(5, count($handledRecord['extra']));
+        $this->assertEquals(6, count($handledRecord['extra']));
     }
 }

+ 15 - 0
tests/Monolog/Processor/WebProcessorTest.php

@@ -23,6 +23,7 @@ class WebProcessorTest extends TestCase
             'REQUEST_METHOD' => 'C',
             'HTTP_REFERER'   => 'D',
             'SERVER_NAME'    => 'F',
+            'UNIQUE_ID'      => 'G',
         );
 
         $processor = new WebProcessor($server);
@@ -32,6 +33,7 @@ class WebProcessorTest extends TestCase
         $this->assertEquals($server['REQUEST_METHOD'], $record['extra']['http_method']);
         $this->assertEquals($server['HTTP_REFERER'], $record['extra']['referrer']);
         $this->assertEquals($server['SERVER_NAME'], $record['extra']['server']);
+        $this->assertEquals($server['UNIQUE_ID'], $record['extra']['unique_id']);
     }
 
     public function testProcessorDoNothingIfNoRequestUri()
@@ -58,6 +60,19 @@ class WebProcessorTest extends TestCase
         $this->assertNull($record['extra']['referrer']);
     }
 
+    public function testProcessorDoesNotAddUniqueIdIfNotPresent()
+    {
+        $server = array(
+            'REQUEST_URI'    => 'A',
+            'REMOTE_ADDR'    => 'B',
+            'REQUEST_METHOD' => 'C',
+            'SERVER_NAME'    => 'F',
+        );
+        $processor = new WebProcessor($server);
+        $record = $processor($this->getRecord());
+        $this->assertFalse(isset($record['extra']['unique_id']));
+    }
+
     /**
      * @expectedException UnexpectedValueException
      */