Passed
Push — master ( 849420...11d690 )
by Bastien
02:22
created

DeamonLoggerExtraExtension   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A load() 0 19 2
1
<?php
2
3
namespace Deamon\LoggerExtraBundle\DependencyInjection;
4
5
use Symfony\Component\Config\FileLocator;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\Loader;
8
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
9
10
/**
11
 * This is the class that loads and manages your bundle configuration.
12
 *
13
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
14
 */
15
class DeamonLoggerExtraExtension extends Extension
16
{
17
    /**
18
     * {@inheritdoc}
19
     */
20 3
    public function load(array $configs, ContainerBuilder $container): void
21
    {
22 3
        $configuration = new Configuration();
23 3
        $config = $this->processConfiguration($configuration, $configs);
24
25 3
        $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
26 3
        $loader->load('services.xml');
27 3
        $loader->load('processors.xml');
28
29 3
        $definition = $container->getDefinition('deamon.logger_extra.context');
30 3
        $definition->addArgument($config['application']['name']);
31 3
        $definition->addArgument($config['application']['locale']);
32
33 3
        $definition = $container->getDefinition('deamon.logger_extra.processors.web_processor');
34 3
        $definition->addArgument($config['config']);
35
36 3
        $definition->clearTag('monolog.processor');
37 3
        foreach ($config['handlers'] as $handler) {
38 3
            $definition->addTag('monolog.processor', ['handler' => $handler]);
39
        }
40 3
    }
41
}
42