Factory   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 100%

Importance

Changes 9
Bugs 2 Features 2
Metric Value
wmc 2
c 9
b 2
f 2
lcom 0
cbo 5
dl 0
loc 28
ccs 12
cts 12
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A createInstance() 0 19 2
1
<?php
2
3
namespace Dafiti\Log;
4
5
use Dafiti\Log\Processor\RequestIdProcessor;
6
use Dafiti\Log\Handler\NewRelicHandler;
7
use Monolog\Logger;
8
use Monolog\Handler\StreamHandler;
9
10
class Factory
11
{
12
    /**
13
     * @param string $logName
14
     * @param string $stream
15
     *
16
     * @return \Monolog\Logger $logger
17
     */
18 14
    public function createInstance($logName, $stream, $logLevel = \Monolog\Logger::ERROR)
19
    {
20 14
        if (!isset($logName, $stream)) {
21 1
            throw new \InvalidArgumentException('The $logName and $stream
22 1
             parameters are required');
23
        }
24
25 13
        $logger = new Logger($logName);
26
27 13
        $logger->pushHandler(new NewRelicHandler());
28 13
        $logger->pushProcessor(new RequestIdProcessor());
29
30 13
        $streamHandler = new StreamHandler($stream, $logLevel);
31 13
        $formatter = new Formatter\LogstashFormatter($logName);
32 13
        $streamHandler->setFormatter($formatter);
33 13
        $logger->pushHandler($streamHandler);
34
35 13
        return $logger;
36
    }
37
}
38