Send Monolog critical logs directly to Slack!

orask profile image Oras Al-Kubaisi ・2 min read

This post was originally posted in my blog PHP Symfony Tips & Tricks

By using Monolog in Symfony applications, we can log to files, send emails, log to console and many other channels. In this article, I will show the step by step on how to integrate Monolog with Slack.
The good thing is integration is just a matter of some configuration in config without writing any line of code. So it could be easily integrated into any project.

1) Create a slack channel.

2) Go to https://api.slack.com/web scroll down to Authentication and create authentication token.

3) In your symfony app, go to config_prod.yml and add the following config in monolog section.

     type: slack
     token: slack api token
     channel: channel name
     [bot_name]: defaults to Monolog
     [icon_emoji]: defaults to null
     [use_attachment]: bool, defaults to true
     [use_short_attachment]: bool, defaults to false
     [include_extra]: bool, defaults to false
     [level]: level name or int value, defaults to DEBUG
     [bubble]: bool, defaults to true

Please note that debug will flood your channel with lots of logs, so use critical

channel should start with # just like how it does appear on Slack.

Full configuration example:

            type:         fingers_crossed
            action_level: error
            handler:      nested
            type:  stream
            path:  "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug
            type:  console
            type:       slack
            token:       xxxx-xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxxx-xxxxxx
            channel:     "#name-of-channel"
            bot_name:    ChooseName
            icon_emoji: :ghost:
            level:      critical

icon_emoji you can use any emoji from Slack. Checkout the full list on this page:


Further reading about Monolog, how does it work .. checkout the following links:

Posted on Nov 13 '17 by:


markdown guide