ソースを参照

Merge pull request #269 from acasademont/logstash_milliseconds

Add millisecond precision in the LogstashFormatter
Jordi Boggiano 12 年 前
コミット
9537e186d0

+ 2 - 2
src/Monolog/Formatter/LogstashFormatter.php

@@ -57,8 +57,8 @@ class LogstashFormatter extends NormalizerFormatter
      */
     public function __construct($applicationName, $systemName = null, $extraPrefix = null, $contextPrefix = 'ctxt_', $version = self::V0)
     {
-        // logstash requires a ISO 8601 format date
-        parent::__construct('c');
+        // logstash requires a ISO 8601 format date with optional millisecond precision.
+        parent::__construct('Y-m-d\TH:i:s.uP');
 
         $this->systemName = $systemName ?: gethostname();
         $this->applicationName = $applicationName;

+ 2 - 2
tests/Monolog/Formatter/LogstashFormatterTest.php

@@ -35,7 +35,7 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
 
         $message = json_decode($formatter->format($record), true);
 
-        $this->assertEquals("1970-01-01T00:00:00+00:00", $message['@timestamp']);
+        $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']);
         $this->assertEquals('log', $message['@message']);
         $this->assertEquals('meh', $message['@fields']['channel']);
         $this->assertContains('meh', $message['@tags']);
@@ -176,7 +176,7 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
 
         $message = json_decode($formatter->format($record), true);
 
-        $this->assertEquals("1970-01-01T00:00:00+00:00", $message['@timestamp']);
+        $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']);
         $this->assertEquals("1", $message['@version']);
         $this->assertEquals('log', $message['message']);
         $this->assertEquals('meh', $message['channel']);