CommandHandlerLogger   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Test Coverage

Coverage 62.5%

Importance

Changes 0
Metric Value
wmc 3
eloc 7
dl 0
loc 38
ccs 5
cts 8
cp 0.625
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A log() 0 4 1
A logExceptionAndReturnFalse() 0 5 1
1
<?php
2
/**
3
 *  This file is part of the Simple S3 package.
4
 *
5
 * (c) Mauro Cassani<https://github.com/mauretto78>
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 *
10
 */
11
12
namespace Matecat\SimpleS3\Components\Logger;
13
14
use Exception;
15
use Matecat\SimpleS3\Commands\CommandHandler;
16
use Psr\Log\LoggerInterface;
17
18
class CommandHandlerLogger
19
{
20
    /**
21
     * @var LoggerInterface
22
     */
23
    protected LoggerInterface $logger;
24
25
    /**
26
     * Logger constructor.
27
     *
28
     * @param LoggerInterface $logger
29
     */
30 36
    public function __construct(LoggerInterface $logger)
31
    {
32 36
        $this->logger = $logger;
33
    }
34
35
    /**
36
     * @param CommandHandler $commandHandler
37
     * @param string         $message
38
     * @param string         $level
39
     */
40 32
    public function log(CommandHandler $commandHandler, string $message, string $level = 'info'): void
41
    {
42 32
        $msg = '[' . get_class($commandHandler) . '] ' . $message;
43 32
        $this->logger->{$level}($msg);
44
    }
45
46
    /**
47
     * @param Exception $exception
48
     *
49
     * @return bool
50
     */
51
    public function logExceptionAndReturnFalse(Exception $exception): bool
52
    {
53
        $this->logger->error($exception->getMessage());
54
55
        return false;
56
    }
57
}
58