Skip to content

Commit ddf4cf4

Browse files
committed
Merge remote-tracking branch 'fotomerchant/feature/slackConfig'
Conflicts: Resources/config/schema/monolog-1.0.xsd
2 parents 26e0447 + 82c25dd commit ddf4cf4

File tree

4 files changed

+35
-1
lines changed

4 files changed

+35
-1
lines changed

DependencyInjection/Configuration.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,15 @@
160160
* - [nickname]: defaults to Monolog
161161
* - [level]: level name or int value, defaults to DEBUG
162162
* - [bubble]: bool, defaults to true
163+
*
164+
* - slack:
165+
* - token: slack api token
166+
* - channel: channel name
167+
* - [bot_name]: defaults to Monolog
168+
* - [icon_emoji]: defaults to null
169+
* - [use_attachment]: bool, defaults to true
170+
* - [level]: level name or int value, defaults to DEBUG
171+
* - [bubble]: bool, defaults to true
163172
*
164173
* - cube:
165174
* - url: http/udp url to the cube server
@@ -285,9 +294,13 @@ public function getConfigTreeBuilder()
285294
->scalarNode('exchange')->end() // amqp
286295
->scalarNode('exchange_name')->defaultValue('log')->end() // amqp
287296
->scalarNode('room')->end() // hipchat
297+
->scalarNode('channel')->end() // slack
298+
->scalarNode('bot_name')->defaultValue('Monolog')->end() // slack
299+
->scalarNode('use_attachment')->defaultTrue()->end() // slack
300+
->scalarNode('icon_emoji')->defaultNull()->end() // slack
288301
->scalarNode('notify')->defaultFalse()->end() // hipchat
289302
->scalarNode('nickname')->defaultValue('Monolog')->end() // hipchat
290-
->scalarNode('token')->end() // pushover & hipchat & loggly & logentries & flowdock & rollbar
303+
->scalarNode('token')->end() // pushover & hipchat & loggly & logentries & flowdock & rollbar & slack
291304
->scalarNode('source')->end() // flowdock
292305
->booleanNode('use_ssl')->defaultTrue()->end() // logentries
293306
->variableNode('user') // pushover
@@ -577,6 +590,10 @@ public function getConfigTreeBuilder()
577590
->ifTrue(function ($v) { return 'hipchat' === $v['type'] && (empty($v['token']) || empty($v['room'])); })
578591
->thenInvalid('The token and room have to be specified to use a HipChatHandler')
579592
->end()
593+
->validate()
594+
->ifTrue(function ($v) { return 'slack' === $v['type'] && (empty($v['token']) || empty($v['channel'])); })
595+
->thenInvalid('The token and channel have to be specified to use a SlackHandler')
596+
->end()
580597
->validate()
581598
->ifTrue(function ($v) { return 'cube' === $v['type'] && empty($v['url']); })
582599
->thenInvalid('The url has to be specified to use a CubeHandler')

DependencyInjection/MonologExtension.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,18 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
440440
$handler['bubble'],
441441
));
442442
break;
443+
444+
case 'slack':
445+
$definition->setArguments(array(
446+
$handler['token'],
447+
$handler['channel'],
448+
$handler['bot_name'],
449+
$handler['use_attachment'],
450+
$handler['icon_emoji'],
451+
$handler['level'],
452+
$handler['bubble'],
453+
));
454+
break;
443455

444456
case 'cube':
445457
$definition->setArguments(array(

Resources/config/monolog.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
<parameter key="monolog.handler.raven.class">Monolog\Handler\RavenHandler</parameter>
3232
<parameter key="monolog.handler.newrelic.class">Monolog\Handler\NewRelicHandler</parameter>
3333
<parameter key="monolog.handler.hipchat.class">Monolog\Handler\HipChatHandler</parameter>
34+
<parameter key="monolog.handler.slack.class">Monolog\Handler\SlackHandler</parameter>
3435
<parameter key="monolog.handler.cube.class">Monolog\Handler\CubeHandler</parameter>
3536
<parameter key="monolog.handler.amqp.class">Monolog\Handler\AmqpHandler</parameter>
3637
<parameter key="monolog.handler.error_log.class">Monolog\Handler\ErrorLogHandler</parameter>

Resources/config/schema/monolog-1.0.xsd

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@
5757
<xsd:attribute name="use-ssl" type="xsd:boolean" />
5858
<xsd:attribute name="formatter" type="xsd:string" />
5959
<xsd:attribute name="token" type="xsd:string" />
60+
<xsd:attribute name="channel" type="xsd:string" />
61+
<xsd:attribute name="bot-name" type="xsd:string" />
62+
<xsd:attribute name="use-attachment" type="xsd:boolean" />
63+
<xsd:attribute name="icon-emoji" type="xsd:string" />
6064
</xsd:complexType>
6165

6266
<xsd:simpleType name="level">

0 commit comments

Comments
 (0)