Completed
Push — master ( 3e7ede...b510d1 )
by Jérémy
14s queued 11s
created

MonologHandlerPass   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 12
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 12
rs 10
c 0
b 0
f 0
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
B process() 0 10 5
1
<?php
2
3
namespace Ekino\Bundle\NewRelicBundle\DependencyInjection\Compiler;
4
5
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\Reference;
8
9
class MonologHandlerPass implements CompilerPassInterface
10
{
11
    public function process(ContainerBuilder $container)
12
    {
13
        if (!$container->hasParameter('ekino.new_relic.log_logs') || !$container->hasDefinition('monolog.logger')) {
14
            return;
15
        }
16
17
        $config = $container->getParameter('ekino.new_relic.log_logs');
18
        foreach ($config['channels'] as $channel) {
19
            $def = $container->getDefinition($channel === 'app' ? 'monolog.logger' : 'monolog.logger.'.$channel);
20
            $def->addMethodCall('pushHandler', array(new Reference('ekino.new_relic.logs_handler')));
21
        }
22
    }
23
}
24