Skip to content

Commit bdcae08

Browse files
committed
Add HipChat config, refs #4
1 parent bcd4401 commit bdcae08

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

DependencyInjection/Configuration.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,10 @@ public function getConfigTreeBuilder()
187187
->booleanNode('stop_buffering')->defaultTrue()->end()// fingers_crossed
188188
->scalarNode('buffer_size')->defaultValue(0)->end() // fingers_crossed and buffer
189189
->scalarNode('handler')->end() // fingers_crossed and buffer
190-
->scalarNode('token')->end() // pushover
190+
->scalarNode('room')->end() // hipchat
191+
->scalarNode('notify')->defaultFalse()->end() // hipchat
192+
->scalarNode('nickname')->defaultValue('Monolog')->end() // hipchat
193+
->scalarNode('token')->end() // pushover & hipchat
191194
->variableNode('user') // pushover
192195
->validate()
193196
->ifTrue(function($v) {
@@ -392,6 +395,10 @@ public function getConfigTreeBuilder()
392395
->ifTrue(function($v) { return 'raven' === $v['type'] && !array_key_exists('dsn', $v); })
393396
->thenInvalid('The DSN has to be specified to use a RavenHandler')
394397
->end()
398+
->validate()
399+
->ifTrue(function($v) { return 'hipchat' === $v['type'] && (empty($v['token']) || empty($v['room'])); })
400+
->thenInvalid('The token and room have to be specified to use a HipChatHandler')
401+
->end()
395402
->end()
396403
->validate()
397404
->ifTrue(function($v) { return isset($v['debug']); })

DependencyInjection/MonologExtension.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,17 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
308308
));
309309
break;
310310

311+
case 'hipchat':
312+
$definition->setArguments(array(
313+
$handler['token'],
314+
$handler['room'],
315+
$handler['nickname'],
316+
$handler['notify'],
317+
$handler['level'],
318+
$handler['bubble'],
319+
));
320+
break;
321+
311322
case 'raven':
312323
$clientId = 'monolog.raven.client.' . sha1($handler['dsn']);
313324
if (!$container->hasDefinition($clientId)) {

Resources/config/monolog.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<parameter key="monolog.handler.pushover.class">Monolog\Handler\PushoverHandler</parameter>
2626
<parameter key="monolog.handler.raven.class">Monolog\Handler\RavenHandler</parameter>
2727
<parameter key="monolog.handler.newrelic.class">Monolog\Handler\NewRelicHandler</parameter>
28+
<parameter key="monolog.handler.hipchat.class">Monolog\Handler\HipChatHandler</parameter>
2829

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

0 commit comments

Comments
 (0)