Skip to content

Commit

Permalink
Add AmqpHandler support, refs #4
Browse files Browse the repository at this point in the history
  • Loading branch information
Seldaek committed Jul 29, 2013
1 parent 2d3f0c4 commit 7a81910
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 0 deletions.
12 changes: 12 additions & 0 deletions DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,12 @@
* - [level]: level name or int value, defaults to DEBUG
* - [bubble]: bool, defaults to true
*
* - amqp:
* - exchange: service id of an AMQPExchange
* - [exchange_name]: string, defaults to log
* - [level]: level name or int value, defaults to DEBUG
* - [bubble]: bool, defaults to true
*
* - null:
* - [level]: level name or int value, defaults to DEBUG
* - [bubble]: bool, defaults to true
Expand Down Expand Up @@ -193,6 +199,8 @@ public function getConfigTreeBuilder()
->scalarNode('buffer_size')->defaultValue(0)->end() // fingers_crossed and buffer
->scalarNode('handler')->end() // fingers_crossed and buffer
->scalarNode('url')->end() // cube
->scalarNode('exchange')->end() // amqp
->scalarNode('exchange_name')->defaultValue('log')->end() // amqp
->scalarNode('room')->end() // hipchat
->scalarNode('notify')->defaultFalse()->end() // hipchat
->scalarNode('nickname')->defaultValue('Monolog')->end() // hipchat
Expand Down Expand Up @@ -409,6 +417,10 @@ public function getConfigTreeBuilder()
->ifTrue(function($v) { return 'cube' === $v['type'] && empty($v['url']); })
->thenInvalid('The url has to be specified to use a CubeHandler')
->end()
->validate()
->ifTrue(function($v) { return 'amqp' === $v['type'] && empty($v['exchange']); })
->thenInvalid('The exchange has to be specified to use a AmqpHandler')
->end()
->end()
->validate()
->ifTrue(function($v) { return isset($v['debug']); })
Expand Down
9 changes: 9 additions & 0 deletions DependencyInjection/MonologExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,15 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
));
break;

case 'amqp':
$definition->setArguments(array(
new Reference($handler['exchange']),
$handler['exchange_name'],
$handler['level'],
$handler['bubble'],
));
break;

case 'raven':
$clientId = 'monolog.raven.client.' . sha1($handler['dsn']);
if (!$container->hasDefinition($clientId)) {
Expand Down
1 change: 1 addition & 0 deletions Resources/config/monolog.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
<parameter key="monolog.handler.newrelic.class">Monolog\Handler\NewRelicHandler</parameter>
<parameter key="monolog.handler.hipchat.class">Monolog\Handler\HipChatHandler</parameter>
<parameter key="monolog.handler.cube.class">Monolog\Handler\CubeHandler</parameter>
<parameter key="monolog.handler.amqp.class">Monolog\Handler\AmqpHandler</parameter>

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

0 comments on commit 7a81910

Please sign in to comment.