Completed
Push — master ( 537349...e26b4a )
by Westin
11:04
created

LogmaticHandlerFactory   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 21
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 18 1
1
<?php
2
declare(strict_types=1);
3
4
namespace WShafer\PSR11MonoLog\Handler;
5
6
use Monolog\Handler\LogmaticHandler;
7
use Monolog\Logger;
8
use WShafer\PSR11MonoLog\FactoryInterface;
9
10
class LogmaticHandlerFactory implements FactoryInterface
11
{
12
    public function __invoke(array $options)
13
    {
14
        $token    = (string)  ($options['token']  ?? '');
15
        $hostname = (string)  ($options['hostname'] ?? '');
16
        $appname  = (string)  ($options['appname'] ?? '');
17
        $useSSL   = (bool)    ($options['useSSL'] ?? true);
18
        $level    = (int)     ($options['level']  ?? Logger::DEBUG);
19
        $bubble   = (boolean) ($options['bubble'] ?? true);
20
21
        return new LogmaticHandler(
22
            $token,
23
            $hostname,
24
            $appname,
25
            $useSSL,
26
            $level,
27
            $bubble
28
        );
29
    }
30
}
31