diff --git a/src/AppRequest/AppRequestInterface.php b/src/AppRequest/AppRequestInterface.php index bf34a2d..7cc4596 100644 --- a/src/AppRequest/AppRequestInterface.php +++ b/src/AppRequest/AppRequestInterface.php @@ -11,9 +11,6 @@ namespace ActiveCollab\Logger\AppRequest; -/** - * @package Angie\AppRequest - */ interface AppRequestInterface { /** @@ -30,6 +27,13 @@ public function getSessionId(); */ public function getRequestId(); + /** + * Return user ID. + * + * @return string + */ + public function getUserId(); + /** * Return summary arguments. * diff --git a/src/AppRequest/CliRequest.php b/src/AppRequest/CliRequest.php index f180fee..29ef18a 100644 --- a/src/AppRequest/CliRequest.php +++ b/src/AppRequest/CliRequest.php @@ -13,9 +13,6 @@ use RuntimeException; -/** - * @package Angie\AppRequest - */ class CliRequest implements AppRequestInterface { /** @@ -93,6 +90,14 @@ public function getRequestId() return "$this->command/$this->timestamp"; } + /** + * {@inheritdoc} + */ + public function getUserId() + { + return ''; + } + /** * {@inheritdoc} */ diff --git a/src/AppRequest/HttpRequest.php b/src/AppRequest/HttpRequest.php index 68f75cc..041a1fa 100644 --- a/src/AppRequest/HttpRequest.php +++ b/src/AppRequest/HttpRequest.php @@ -13,9 +13,6 @@ use Psr\Http\Message\ServerRequestInterface; -/** - * @package Angie\AppRequest - */ class HttpRequest implements AppRequestInterface { /** @@ -43,6 +40,11 @@ class HttpRequest implements AppRequestInterface */ private $request_id; + /** + * @var string + */ + private $user_id; + /** * @param ServerRequestInterface $request */ @@ -54,6 +56,7 @@ public function __construct(ServerRequestInterface $request) $this->method = $request->getMethod(); $this->session_id = (string) $request->getAttribute('session_id'); $this->request_id = (string) $request->getAttribute('request_id'); + $this->user_id = (string) $request->getAttribute('user_id'); } /** @@ -91,12 +94,21 @@ public function getRequestId() return $this->request_id; } + public function getUserId() + { + return $this->user_id; + } + /** * {@inheritdoc} */ public function getSummaryArguments() { - return ['uri' => $this->uri_path, 'method' => $this->method, 'query_string' => $this->query_string]; + return [ + 'uri' => $this->uri_path, + 'method' => $this->method, + 'query_string' => $this->query_string + ]; } /** diff --git a/src/AppResponse/AppResponseInterface.php b/src/AppResponse/AppResponseInterface.php index a956a56..b64de10 100644 --- a/src/AppResponse/AppResponseInterface.php +++ b/src/AppResponse/AppResponseInterface.php @@ -11,9 +11,6 @@ namespace ActiveCollab\Logger\AppResponse; -/** - * @package Angie\AppResponse - */ interface AppResponseInterface { /** diff --git a/src/AppResponse/HttpResponse.php b/src/AppResponse/HttpResponse.php index 1db233c..faa8cef 100644 --- a/src/AppResponse/HttpResponse.php +++ b/src/AppResponse/HttpResponse.php @@ -13,9 +13,6 @@ use Psr\Http\Message\ResponseInterface; -/** - * @package Angie\AppResponse - */ class HttpResponse implements AppResponseInterface { /** diff --git a/src/Logger.php b/src/Logger.php index ce5cd4c..47015c5 100644 --- a/src/Logger.php +++ b/src/Logger.php @@ -154,6 +154,10 @@ public function &setAppRequest(AppRequestInterface $request) $this->request_arguments['request_id'] = $request->getRequestId(); } + if (!empty($request->getUserId())) { + $this->request_arguments['user_id'] = $request->getUserId(); + } + $this->flushBuffer(); return $this; diff --git a/test/src/LoggerShutdownTest.php b/test/src/LoggerShutdownTest.php index 479fdf2..9cee416 100644 --- a/test/src/LoggerShutdownTest.php +++ b/test/src/LoggerShutdownTest.php @@ -11,25 +11,16 @@ namespace ActiveCollab\Logger\Test; -use ActiveCollab\Logger\AppRequest\CliRequest; -use ActiveCollab\Logger\AppRequest\HttpRequest; -use ActiveCollab\Logger\AppResponse\HttpResponse; use ActiveCollab\Logger\Factory\Factory; -use ActiveCollab\Logger\Factory\FactoryInterface; use ActiveCollab\Logger\LoggerInterface; use ActiveCollab\Logger\Test\Base\TestCase; -use Laminas\Diactoros\Response; -use Laminas\Diactoros\ServerRequest; -/** - * @package angie.tests - */ class LoggerShutdownTest extends TestCase { public function testLogicExceptionOnMultiShutdownCalls() { $this->expectException(\LogicException::class); - $this->expectExceptionMessage("Buffer flush function should be registered only once"); + $this->expectExceptionMessage('Buffer flush function should be registered only once'); $logger = (new Factory())->create('Active Collab', '1.0.0', 'development', LoggerInterface::LOG_FOR_DEBUG, LoggerInterface::BLACKHOLE); diff --git a/test/src/LoggerTest.php b/test/src/LoggerTest.php index 35b9a7d..30ce9b8 100644 --- a/test/src/LoggerTest.php +++ b/test/src/LoggerTest.php @@ -21,9 +21,6 @@ use Laminas\Diactoros\Response; use Laminas\Diactoros\ServerRequest; -/** - * @package angie.tests - */ class LoggerTest extends TestCase { /** @@ -31,9 +28,6 @@ class LoggerTest extends TestCase */ private $logger; - /** - * {@inheritdoc} - */ public function setUp(): void { parent::setUp();