Skip to content

Commit

Permalink
Add CubeHandler support, refs #4
Browse files Browse the repository at this point in the history
  • Loading branch information
Seldaek committed Jul 29, 2013
1 parent bdcae08 commit 2d3f0c4
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 0 deletions.
10 changes: 10 additions & 0 deletions DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,11 @@
* - [level]: level name or int value, defaults to DEBUG
* - [bubble]: bool, defaults to true
*
* - cube:
* - url: http/udp url to the cube server
* - [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 @@ -187,6 +192,7 @@ public function getConfigTreeBuilder()
->booleanNode('stop_buffering')->defaultTrue()->end()// fingers_crossed
->scalarNode('buffer_size')->defaultValue(0)->end() // fingers_crossed and buffer
->scalarNode('handler')->end() // fingers_crossed and buffer
->scalarNode('url')->end() // cube
->scalarNode('room')->end() // hipchat
->scalarNode('notify')->defaultFalse()->end() // hipchat
->scalarNode('nickname')->defaultValue('Monolog')->end() // hipchat
Expand Down Expand Up @@ -399,6 +405,10 @@ public function getConfigTreeBuilder()
->ifTrue(function($v) { return 'hipchat' === $v['type'] && (empty($v['token']) || empty($v['room'])); })
->thenInvalid('The token and room have to be specified to use a HipChatHandler')
->end()
->validate()
->ifTrue(function($v) { return 'cube' === $v['type'] && empty($v['url']); })
->thenInvalid('The url has to be specified to use a CubeHandler')
->end()
->end()
->validate()
->ifTrue(function($v) { return isset($v['debug']); })
Expand Down
8 changes: 8 additions & 0 deletions DependencyInjection/MonologExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,14 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
));
break;

case 'cube':
$definition->setArguments(array(
$handler['url'],
$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 @@ -26,6 +26,7 @@
<parameter key="monolog.handler.raven.class">Monolog\Handler\RavenHandler</parameter>
<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.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 2d3f0c4

Please sign in to comment.