Skip to content

Commit 7a81910

Browse files
committed
Add AmqpHandler support, refs #4
1 parent 2d3f0c4 commit 7a81910

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

DependencyInjection/Configuration.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,12 @@
132132
* - [level]: level name or int value, defaults to DEBUG
133133
* - [bubble]: bool, defaults to true
134134
*
135+
* - amqp:
136+
* - exchange: service id of an AMQPExchange
137+
* - [exchange_name]: string, defaults to log
138+
* - [level]: level name or int value, defaults to DEBUG
139+
* - [bubble]: bool, defaults to true
140+
*
135141
* - null:
136142
* - [level]: level name or int value, defaults to DEBUG
137143
* - [bubble]: bool, defaults to true
@@ -193,6 +199,8 @@ public function getConfigTreeBuilder()
193199
->scalarNode('buffer_size')->defaultValue(0)->end() // fingers_crossed and buffer
194200
->scalarNode('handler')->end() // fingers_crossed and buffer
195201
->scalarNode('url')->end() // cube
202+
->scalarNode('exchange')->end() // amqp
203+
->scalarNode('exchange_name')->defaultValue('log')->end() // amqp
196204
->scalarNode('room')->end() // hipchat
197205
->scalarNode('notify')->defaultFalse()->end() // hipchat
198206
->scalarNode('nickname')->defaultValue('Monolog')->end() // hipchat
@@ -409,6 +417,10 @@ public function getConfigTreeBuilder()
409417
->ifTrue(function($v) { return 'cube' === $v['type'] && empty($v['url']); })
410418
->thenInvalid('The url has to be specified to use a CubeHandler')
411419
->end()
420+
->validate()
421+
->ifTrue(function($v) { return 'amqp' === $v['type'] && empty($v['exchange']); })
422+
->thenInvalid('The exchange has to be specified to use a AmqpHandler')
423+
->end()
412424
->end()
413425
->validate()
414426
->ifTrue(function($v) { return isset($v['debug']); })

DependencyInjection/MonologExtension.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,15 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
327327
));
328328
break;
329329

330+
case 'amqp':
331+
$definition->setArguments(array(
332+
new Reference($handler['exchange']),
333+
$handler['exchange_name'],
334+
$handler['level'],
335+
$handler['bubble'],
336+
));
337+
break;
338+
330339
case 'raven':
331340
$clientId = 'monolog.raven.client.' . sha1($handler['dsn']);
332341
if (!$container->hasDefinition($clientId)) {

Resources/config/monolog.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
<parameter key="monolog.handler.newrelic.class">Monolog\Handler\NewRelicHandler</parameter>
2828
<parameter key="monolog.handler.hipchat.class">Monolog\Handler\HipChatHandler</parameter>
2929
<parameter key="monolog.handler.cube.class">Monolog\Handler\CubeHandler</parameter>
30+
<parameter key="monolog.handler.amqp.class">Monolog\Handler\AmqpHandler</parameter>
3031

3132
<parameter key="monolog.handler.fingers_crossed.class">Monolog\Handler\FingersCrossedHandler</parameter>
3233
<parameter key="monolog.handler.fingers_crossed.error_level_activation_strategy.class">Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy</parameter>

0 commit comments

Comments
 (0)