Skip to content

Commit 6398efc

Browse files
avant1fabpot
authored andcommitted
remove class parameters
1 parent fbbcefd commit 6398efc

File tree

5 files changed

+78
-73
lines changed

5 files changed

+78
-73
lines changed

DependencyInjection/Compiler/DebugHandlerPass.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function process(ContainerBuilder $container)
4747
return;
4848
}
4949

50-
$debugHandler = new Definition('%monolog.handler.debug.class%', array(Logger::DEBUG, true));
50+
$debugHandler = new Definition('Symfony\Bridge\Monolog\Handler\DebugHandler', array(Logger::DEBUG, true));
5151
$container->setDefinition('monolog.handler.debug', $debugHandler);
5252

5353
foreach ($this->channelPass->getChannels() as $channel) {

DependencyInjection/MonologExtension.php

+55-6
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,8 @@ public function getNamespace()
130130
private function buildHandler(ContainerBuilder $container, $name, array $handler)
131131
{
132132
$handlerId = $this->getHandlerId($name);
133-
$definition = new Definition(sprintf('%%monolog.handler.%s.class%%', $handler['type']));
133+
$definition = new Definition($this->getHandlerClassByType($handler['type']));
134+
134135
$handler['level'] = $this->levelToMonologConst($handler['level']);
135136

136137
if ($handler['include_stacktraces']) {
@@ -186,13 +187,13 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
186187
$transport->setPublic(false);
187188
$container->setDefinition($transportId, $transport);
188189

189-
$publisher = new Definition('%monolog.gelfphp.publisher.class%', array());
190+
$publisher = new Definition('Gelf\Publisher', array());
190191
$publisher->addMethodCall('addTransport', array(new Reference($transportId)));
191192
$publisherId = uniqid('monolog.gelf.publisher.');
192193
$publisher->setPublic(false);
193194
$container->setDefinition($publisherId, $publisher);
194195
} elseif (class_exists('Gelf\MessagePublisher')) {
195-
$publisher = new Definition('%monolog.gelf.publisher.class%', array(
196+
$publisher = new Definition('Gelf\MessagePublisher', array(
196197
$handler['publisher']['hostname'],
197198
$handler['publisher']['port'],
198199
$handler['publisher']['chunk_size'],
@@ -224,7 +225,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
224225

225226
$server .= $handler['mongo']['host'].':'.$handler['mongo']['port'];
226227

227-
$client = new Definition('%monolog.mongo.client.class%', array(
228+
$client = new Definition('MongoClient', array(
228229
$server,
229230
));
230231

@@ -247,7 +248,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
247248
$clientId = $handler['elasticsearch']['id'];
248249
} else {
249250
// elastica client new definition
250-
$elasticaClient = new Definition('%monolog.elastica.client.class%');
251+
$elasticaClient = new Definition('Elastica\Client');
251252
$elasticaClientArguments = array(
252253
'host' => $handler['elasticsearch']['host'],
253254
'port' => $handler['elasticsearch']['port'],
@@ -320,7 +321,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
320321
if (isset($handler['activation_strategy'])) {
321322
$activation = new Reference($handler['activation_strategy']);
322323
} elseif (!empty($handler['excluded_404s'])) {
323-
$activationDef = new Definition('%monolog.activation_strategy.not_found.class%', array($handler['excluded_404s'], $handler['action_level']));
324+
$activationDef = new Definition('Symfony\Bundle\MonologBundle\NotFoundActivationStrategy', array($handler['excluded_404s'], $handler['action_level']));
324325
$activationDef->addMethodCall('setRequest', array(new Reference('request', ContainerInterface::NULL_ON_INVALID_REFERENCE, false)));
325326
$container->setDefinition($handlerId.'.not_found_strategy', $activationDef);
326327
$activation = new Reference($handlerId.'.not_found_strategy');
@@ -693,4 +694,52 @@ private function getHandlerId($name)
693694
{
694695
return sprintf('monolog.handler.%s', $name);
695696
}
697+
698+
private function getHandlerClassByType($handlerType)
699+
{
700+
$typeToClassMapping = array(
701+
'stream' => 'Monolog\Handler\StreamHandler',
702+
'console' => 'Symfony\Bridge\Monolog\Handler\ConsoleHandler',
703+
'group' => 'Monolog\Handler\GroupHandler',
704+
'buffer' => 'Monolog\Handler\BufferHandler',
705+
'deduplication' => 'Monolog\Handler\DeduplicationHandler',
706+
'rotating_file' => 'Monolog\Handler\RotatingFileHandler',
707+
'syslog' => 'Monolog\Handler\SyslogHandler',
708+
'syslogudp' => 'Monolog\Handler\SyslogUdpHandler',
709+
'null' => 'Monolog\Handler\NullHandler',
710+
'test' => 'Monolog\Handler\TestHandler',
711+
'gelf' => 'Monolog\Handler\GelfHandler',
712+
'rollbar' => 'Monolog\Handler\RollbarHandler',
713+
'flowdock' => 'Monolog\Handler\FlowdockHandler',
714+
'browser_console' => 'Monolog\Handler\BrowserConsoleHandler',
715+
'firephp' => 'Symfony\Bridge\Monolog\Handler\FirePHPHandler',
716+
'chromephp' => 'Symfony\Bridge\Monolog\Handler\ChromePhpHandler',
717+
'debug' => 'Symfony\Bridge\Monolog\Handler\DebugHandler',
718+
'swift_mailer' => 'Symfony\Bridge\Monolog\Handler\SwiftMailerHandler',
719+
'native_mailer' => 'Monolog\Handler\NativeMailerHandler',
720+
'socket' => 'Monolog\Handler\SocketHandler',
721+
'pushover' => 'Monolog\Handler\PushoverHandler',
722+
'raven' => 'Monolog\Handler\RavenHandler',
723+
'newrelic' => 'Monolog\Handler\NewRelicHandler',
724+
'hipchat' => 'Monolog\Handler\HipChatHandler',
725+
'slack' => 'Monolog\Handler\SlackHandler',
726+
'cube' => 'Monolog\Handler\CubeHandler',
727+
'amqp' => 'Monolog\Handler\AmqpHandler',
728+
'error_log' => 'Monolog\Handler\ErrorLogHandler',
729+
'loggly' => 'Monolog\Handler\LogglyHandler',
730+
'logentries' => 'Monolog\Handler\LogEntriesHandler',
731+
'whatfailuregroup' => 'Monolog\Handler\WhatFailureGroupHandler',
732+
'fingers_crossed' => 'Monolog\Handler\FingersCrossedHandler',
733+
'filter' => 'Monolog\Handler\FilterHandler',
734+
'mongo' => 'Monolog\Handler\MongoDBHandler',
735+
'elasticsearch' => 'Monolog\Handler\ElasticSearchHandler',
736+
);
737+
738+
if (!isset($typeToClassMapping[$handlerType])) {
739+
throw new \InvalidArgumentException(sprintf('There is no handler class defined for handler "%s".', $handlerType));
740+
}
741+
742+
return $typeToClassMapping[$handlerType];
743+
}
744+
696745
}

Resources/config/monolog.xml

+4-48
Original file line numberDiff line numberDiff line change
@@ -4,53 +4,6 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
66

7-
<parameters>
8-
<parameter key="monolog.logger.class">Symfony\Bridge\Monolog\Logger</parameter>
9-
<parameter key="monolog.gelf.publisher.class">Gelf\MessagePublisher</parameter>
10-
<parameter key="monolog.gelfphp.publisher.class">Gelf\Publisher</parameter>
11-
<parameter key="monolog.handler.stream.class">Monolog\Handler\StreamHandler</parameter>
12-
<parameter key="monolog.handler.console.class">Symfony\Bridge\Monolog\Handler\ConsoleHandler</parameter>
13-
<parameter key="monolog.handler.group.class">Monolog\Handler\GroupHandler</parameter>
14-
<parameter key="monolog.handler.buffer.class">Monolog\Handler\BufferHandler</parameter>
15-
<parameter key="monolog.handler.deduplication.class">Monolog\Handler\DeduplicationHandler</parameter>
16-
<parameter key="monolog.handler.rotating_file.class">Monolog\Handler\RotatingFileHandler</parameter>
17-
<parameter key="monolog.handler.syslog.class">Monolog\Handler\SyslogHandler</parameter>
18-
<parameter key="monolog.handler.syslogudp.class">Monolog\Handler\SyslogUdpHandler</parameter>
19-
<parameter key="monolog.handler.null.class">Monolog\Handler\NullHandler</parameter>
20-
<parameter key="monolog.handler.test.class">Monolog\Handler\TestHandler</parameter>
21-
<parameter key="monolog.handler.gelf.class">Monolog\Handler\GelfHandler</parameter>
22-
<parameter key="monolog.handler.rollbar.class">Monolog\Handler\RollbarHandler</parameter>
23-
<parameter key="monolog.handler.flowdock.class">Monolog\Handler\FlowdockHandler</parameter>
24-
<parameter key="monolog.handler.browser_console.class">Monolog\Handler\BrowserConsoleHandler</parameter>
25-
<parameter key="monolog.handler.firephp.class">Symfony\Bridge\Monolog\Handler\FirePHPHandler</parameter>
26-
<parameter key="monolog.handler.chromephp.class">Symfony\Bridge\Monolog\Handler\ChromePhpHandler</parameter>
27-
<parameter key="monolog.handler.debug.class">Symfony\Bridge\Monolog\Handler\DebugHandler</parameter>
28-
<parameter key="monolog.handler.swift_mailer.class">Symfony\Bridge\Monolog\Handler\SwiftMailerHandler</parameter>
29-
<parameter key="monolog.handler.native_mailer.class">Monolog\Handler\NativeMailerHandler</parameter>
30-
<parameter key="monolog.handler.socket.class">Monolog\Handler\SocketHandler</parameter>
31-
<parameter key="monolog.handler.pushover.class">Monolog\Handler\PushoverHandler</parameter>
32-
<parameter key="monolog.handler.raven.class">Monolog\Handler\RavenHandler</parameter>
33-
<parameter key="monolog.handler.newrelic.class">Monolog\Handler\NewRelicHandler</parameter>
34-
<parameter key="monolog.handler.hipchat.class">Monolog\Handler\HipChatHandler</parameter>
35-
<parameter key="monolog.handler.slack.class">Monolog\Handler\SlackHandler</parameter>
36-
<parameter key="monolog.handler.cube.class">Monolog\Handler\CubeHandler</parameter>
37-
<parameter key="monolog.handler.amqp.class">Monolog\Handler\AmqpHandler</parameter>
38-
<parameter key="monolog.handler.error_log.class">Monolog\Handler\ErrorLogHandler</parameter>
39-
<parameter key="monolog.handler.loggly.class">Monolog\Handler\LogglyHandler</parameter>
40-
<parameter key="monolog.handler.logentries.class">Monolog\Handler\LogEntriesHandler</parameter>
41-
<parameter key="monolog.handler.whatfailuregroup.class">Monolog\Handler\WhatFailureGroupHandler</parameter>
42-
<parameter key="monolog.activation_strategy.not_found.class">Symfony\Bundle\MonologBundle\NotFoundActivationStrategy</parameter>
43-
44-
<parameter key="monolog.handler.fingers_crossed.class">Monolog\Handler\FingersCrossedHandler</parameter>
45-
<parameter key="monolog.handler.fingers_crossed.error_level_activation_strategy.class">Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy</parameter>
46-
<parameter key="monolog.handler.filter.class">Monolog\Handler\FilterHandler</parameter>
47-
<parameter key="monolog.handler.mongo.class">Monolog\Handler\MongoDBHandler</parameter>
48-
<parameter key="monolog.mongo.client.class">MongoClient</parameter>
49-
50-
<parameter key="monolog.handler.elasticsearch.class">Monolog\Handler\ElasticSearchHandler</parameter>
51-
<parameter key="monolog.elastica.client.class">Elastica\Client</parameter>
52-
</parameters>
53-
547
<services>
558
<service id="monolog.logger" parent="monolog.logger_prototype" public="false">
569
<argument index="0">app</argument>
@@ -61,10 +14,13 @@
6114

6215
<service id="logger" alias="monolog.logger" />
6316

64-
<service id="monolog.logger_prototype" class="%monolog.logger.class%" abstract="true">
17+
<service id="monolog.logger_prototype" class="Symfony\Bridge\Monolog\Logger" abstract="true">
6518
<argument /><!-- Channel -->
6619
</service>
6720

21+
<service id="monolog.activation_strategy.not_found" class="Symfony\Bundle\MonologBundle\NotFoundActivationStrategy"/>
22+
<service id="monolog.handler.fingers_crossed.error_level_activation_strategy" class="Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy"/>
23+
6824
<!-- Formatters -->
6925
<service id="monolog.formatter.chrome_php" class="Monolog\Formatter\ChromePHPFormatter" public="false" />
7026
<service id="monolog.formatter.gelf_message" class="Monolog\Formatter\GelfMessageFormatter" public="false" />

Tests/DependencyInjection/FixtureMonologExtensionTest.php

+9-9
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ public function testLoadWithSeveralHandlers()
3535
$this->assertDICDefinitionMethodCallAt(0, $logger, 'useMicrosecondTimestamps', array('%monolog.use_microseconds%'));
3636

3737
$handler = $container->getDefinition('monolog.handler.custom');
38-
$this->assertDICDefinitionClass($handler, '%monolog.handler.stream.class%');
38+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\StreamHandler');
3939
$this->assertDICConstructorArguments($handler, array('/tmp/symfony.log', \Monolog\Logger::ERROR, false, 0666));
4040

4141
$handler = $container->getDefinition('monolog.handler.main');
42-
$this->assertDICDefinitionClass($handler, '%monolog.handler.fingers_crossed.class%');
42+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\FingersCrossedHandler');
4343
$this->assertDICConstructorArguments($handler, array(new Reference('monolog.handler.nested'), \Monolog\Logger::ERROR, 0, true, true, \Monolog\Logger::NOTICE));
4444

4545
$handler = $container->getDefinition('monolog.handler.filtered');
46-
$this->assertDICDefinitionClass($handler, '%monolog.handler.filter.class%');
46+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\FilterHandler');
4747
$this->assertDICConstructorArguments($handler, array(new Reference('monolog.handler.nested2'), array(\Monolog\Logger::WARNING, \Monolog\Logger::ERROR), \Monolog\Logger::EMERGENCY, true));
4848
}
4949

@@ -63,11 +63,11 @@ public function testLoadWithOverwriting()
6363
$this->assertDICDefinitionMethodCallAt(0, $logger, 'useMicrosecondTimestamps', array('%monolog.use_microseconds%'));
6464

6565
$handler = $container->getDefinition('monolog.handler.custom');
66-
$this->assertDICDefinitionClass($handler, '%monolog.handler.stream.class%');
66+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\StreamHandler');
6767
$this->assertDICConstructorArguments($handler, array('/tmp/symfony.log', \Monolog\Logger::WARNING, true, null));
6868

6969
$handler = $container->getDefinition('monolog.handler.main');
70-
$this->assertDICDefinitionClass($handler, '%monolog.handler.fingers_crossed.class%');
70+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\FingersCrossedHandler');
7171
$this->assertDICConstructorArguments($handler, array(new Reference('monolog.handler.nested'), \Monolog\Logger::ERROR, 0, true, true, null));
7272
}
7373

@@ -89,7 +89,7 @@ public function testLoadWithNewAtEnd()
8989
$this->assertDICDefinitionMethodCallAt(0, $logger, 'useMicrosecondTimestamps', array('%monolog.use_microseconds%'));
9090

9191
$handler = $container->getDefinition('monolog.handler.new');
92-
$this->assertDICDefinitionClass($handler, '%monolog.handler.stream.class%');
92+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\StreamHandler');
9393
$this->assertDICConstructorArguments($handler, array('/tmp/monolog.log', \Monolog\Logger::ERROR, true, null));
9494
}
9595

@@ -113,15 +113,15 @@ public function testLoadWithNewAndPriority()
113113
$this->assertDICDefinitionMethodCallAt(0, $logger, 'useMicrosecondTimestamps', array('%monolog.use_microseconds%'));
114114

115115
$handler = $container->getDefinition('monolog.handler.main');
116-
$this->assertDICDefinitionClass($handler, '%monolog.handler.buffer.class%');
116+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\BufferHandler');
117117
$this->assertDICConstructorArguments($handler, array(new Reference('monolog.handler.nested'), 0, \Monolog\Logger::INFO, true, false));
118118

119119
$handler = $container->getDefinition('monolog.handler.first');
120-
$this->assertDICDefinitionClass($handler, '%monolog.handler.rotating_file.class%');
120+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\RotatingFileHandler');
121121
$this->assertDICConstructorArguments($handler, array('/tmp/monolog.log', 0, \Monolog\Logger::ERROR, true, null));
122122

123123
$handler = $container->getDefinition('monolog.handler.last');
124-
$this->assertDICDefinitionClass($handler, '%monolog.handler.stream.class%');
124+
$this->assertDICDefinitionClass($handler, 'Monolog\Handler\StreamHandler');
125125
$this->assertDICConstructorArguments($handler, array('/tmp/last.log', \Monolog\Logger::ERROR, true, null));
126126
}
127127

0 commit comments

Comments
 (0)