diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php
index b0c70c74..6285e079 100644
--- a/DependencyInjection/Configuration.php
+++ b/DependencyInjection/Configuration.php
@@ -68,6 +68,9 @@ 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('token')->end() // pushover
+ ->scalarNode('user')->end() // pushover
+ ->scalarNode('title')->defaultNull()->end() // pushover
->arrayNode('publisher')
->canBeUnset()
->beforeNormalization()
@@ -196,6 +199,10 @@ public function getConfigTreeBuilder()
->ifTrue(function($v) { return 'socket' === $v['type'] && !isset($v['connection_string']); })
->thenInvalid('The connection_string has to be specified to use a SocketHandler')
->end()
+ ->validate()
+ ->ifTrue(function($v) { return 'pushover' === $v['type'] && (empty($v['token']) || empty($v['user'])); })
+ ->thenInvalid('The token and user have to be specified to use a PushoverHandler')
+ ->end()
->end()
->validate()
->ifTrue(function($v) { return isset($v['debug']); })
diff --git a/DependencyInjection/MonologExtension.php b/DependencyInjection/MonologExtension.php
index 885f6f91..b219bea5 100644
--- a/DependencyInjection/MonologExtension.php
+++ b/DependencyInjection/MonologExtension.php
@@ -277,6 +277,16 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
}
break;
+ case 'pushover':
+ $definition->setArguments(array(
+ $handler['token'],
+ $handler['user'],
+ $handler['title'],
+ $handler['level'],
+ $handler['bubble'],
+ ));
+ break;
+
// Handlers using the constructor of AbstractHandler without adding their own arguments
case 'test':
case 'null':
diff --git a/Resources/config/monolog.xml b/Resources/config/monolog.xml
index 47b0cccb..61c3e50d 100644
--- a/Resources/config/monolog.xml
+++ b/Resources/config/monolog.xml
@@ -21,6 +21,7 @@
Monolog\Handler\SwiftMailerHandler
Monolog\Handler\NativeMailerHandler
Monolog\Handler\SocketHandler
+ Monolog\Handler\PushoverHandler
Monolog\Handler\FingersCrossedHandler
Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy