LoggerBusinessFactory::createFileWriter()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
ccs 4
cts 4
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
5
namespace Xervice\Logger\Business;
6
7
8
use Xervice\Core\Business\Model\Factory\AbstractBusinessFactory;
9
use Xervice\Logger\Business\Model\Handler\HandlerCollection;
10
use Xervice\Logger\Business\Model\Provider\LogProvider;
11
use Xervice\Logger\Business\Model\Provider\LogProviderInterface;
12
use Xervice\Logger\Business\Model\Writer\FileWriter;
13
use Xervice\Logger\Business\Model\Writer\FileWriterInterface;
14
use Xervice\Logger\LoggerDependencyProvider;
15
16
/**
17
 * @method \Xervice\Logger\LoggerConfig getConfig()
18
 */
19
class LoggerBusinessFactory extends AbstractBusinessFactory
20
{
21
    /**
22
     * @return \Xervice\Logger\Business\Model\Provider\LogProviderInterface
23
     */
24 1
    public function createLogProvider(): LogProviderInterface
25
    {
26 1
        return new LogProvider(
27 1
            $this->getLogHandlerCollection()
28
        );
29
    }
30
31
    /**
32
     * @return \Xervice\Logger\Business\Model\Writer\FileWriterInterface
33
     */
34 1
    public function createFileWriter(): FileWriterInterface
35
    {
36 1
        return new FileWriter(
37 1
            $this->getConfig()->getLogPath(),
38 1
            $this->getConfig()->getLogFilename()
39
        );
40
    }
41
42
    /**
43
     * @return \Xervice\Logger\Business\Model\Handler\HandlerCollection
44
     */
45 1
    public function getLogHandlerCollection(): HandlerCollection
46
    {
47 1
        return $this->getDependency(LoggerDependencyProvider::LOG_HANDLER);
48
    }
49
}