Passed
Push — master ( ab3fce...bb4bd6 )
by Andreas
22:41
created

loggerPass   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
dl 0
loc 24
ccs 0
cts 12
cp 0
rs 10
c 1
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A process() 0 12 1
1
<?php
2
namespace midcom\dependencyInjection;
3
4
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
5
use Symfony\Component\DependencyInjection\ContainerBuilder;
6
use midcom_config;
7
use Symfony\Component\DependencyInjection\ChildDefinition;
8
use Symfony\Component\DependencyInjection\Reference;
9
10
class loggerPass implements CompilerPassInterface
11
{
12
    /**
13
     * @var midcom_config
14
     */
15
    private $config;
16
17
    public function __construct(midcom_config $config)
18
    {
19
        $this->config = $config;
20
    }
21
22
    public function process(ContainerBuilder $container)
23
    {
24
        $filehandler = $container->getDefinition('logger.filehandler');
25
        $filehandler->addArgument($this->config->get('log_filename'));
26
        $filehandler->addArgument(\midcom_debug::convert_level((int) $this->config->get('log_level')));
27
28
        $logger = new ChildDefinition('logger');
29
        $logger->replaceArgument(0, 'request');
30
        $container->setDefinition('logger.controller_resolver', $logger);
31
32
        $resolver = $container->getDefinition('controller_resolver');
33
        $resolver->addArgument(new Reference('logger.controller_resolver'));
34
    }
35
}