Factory::createInstance()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 19
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 12
CRAP Score 2

Importance

Changes 8
Bugs 2 Features 1
Metric Value
c 8
b 2
f 1
dl 0
loc 19
ccs 12
cts 12
cp 1
rs 9.4286
cc 2
eloc 11
nc 2
nop 3
crap 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