RequestLogger::log()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 2
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace San4io\RequestLogger\Logger;
4
5
use Symfony\Component\HttpFoundation\Request;
6
use Symfony\Component\HttpFoundation\Response;
7
use Monolog\Logger;
8
use Psr\Log\LoggerInterface;
9
10
class RequestLogger
11
{
12
    /**
13
     * @var LoggerInterface
14
     */
15
    protected $logger;
16
17
    /**
18
     * @var LogContextFormatter
19
     */
20
    protected $logContextFormatter;
21
22
    /**
23
     * RequestLogger constructor.
24
     * @param LoggerInterface $logger
25
     * @param LogContextFormatter $logContextFormatter
26
     */
27
    public function __construct(LoggerInterface $logger, LogContextFormatter $logContextFormatter)
28
    {
29
        $this->logger = $logger;
30
        $this->logContextFormatter = $logContextFormatter;
31
    }
32
33
    /**
34
     * @param Request $request
35
     * @param Response $response
36
     */
37
    public function log(Request $request, Response $response)
38
    {
39
        $context = $this->logContextFormatter->format($request, $response);
40
41
        $this->logger->log(
42
            Logger::INFO,
43
            $request->getMethod() . ' ' . $request->getUri(),
44
            $context
45
        );
46
    }
47
}