diff --git a/library/CM/Log/Handler/MongoDb.php b/library/CM/Log/Handler/MongoDb.php index 6d37c77f0..e47fff897 100644 --- a/library/CM/Log/Handler/MongoDb.php +++ b/library/CM/Log/Handler/MongoDb.php @@ -84,6 +84,10 @@ protected function _formatRecord(CM_Log_Record $record) { 'server' => $request->getServer(), 'headers' => $request->getHeaders(), ]; + + if ($request->hasClientId()) { + $formattedContext['httpRequest']['clientId'] = $request->getClientId(); + } } return [ diff --git a/tests/library/CM/Log/Handler/MongoDbTest.php b/tests/library/CM/Log/Handler/MongoDbTest.php index 58a4b477a..175a652d0 100644 --- a/tests/library/CM/Log/Handler/MongoDbTest.php +++ b/tests/library/CM/Log/Handler/MongoDbTest.php @@ -34,6 +34,7 @@ public function testWriting() { $ttl = 30; $user = CMTest_TH::createUser(); $httpRequest = CM_Http_Request_Abstract::factory('post', '/foo?bar=1&baz=quux', ['bar' => 'baz'], ['foo' => 'quux'], '{"bar":"2", "quux":"baz"}'); + $clientId = $httpRequest->getClientId(); $computerInfo = new CM_Log_Context_ComputerInfo('www.example.com', 'v7.0.1'); $mongoClient = $this->getServiceManager()->getMongoDb(); @@ -68,6 +69,7 @@ public function testWriting() { $this->assertSame(['bar' => '2', 'baz' => 'quux', 'quux' => 'baz'], $context['httpRequest']['query']); $this->assertSame(['bar' => 'baz'], $context['httpRequest']['headers']); $this->assertSame(['foo' => 'quux'], $context['httpRequest']['server']); + $this->assertSame($clientId, $context['httpRequest']['clientId']); $this->assertSame('www.example.com', $context['computerInfo']['fqdn']); $this->assertSame('v7.0.1', $context['computerInfo']['phpVersion']); $this->assertSame(['bar' => ['baz' => 'quux']], $context['extra']);