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.
Steps:
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.
slack:
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 usecritical
channel
should start with # just like how it does appear on Slack.
Full configuration example:
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
slack:
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:
Top comments (1)
Thanks!