Posts log events to Slack via API
Project description
Python log handler that posts to a Slack channel. Posts to the Slack API using https://github.com/os/slacker.
For a different implementation using webhooks instead of Slacker, see https://github.com/claudetech/python-slack-log or read http://www.pythian.com/blog/logging-for-slackers/
Created with the intention of using for a Django project, but some effort has been made to make it generic enough that any Python project could use it.
Installation
pip install slacker-log-handler
Options
api_key (required)
Generate a key at https://api.slack.com/
channel (required)
Set which channel you want to post to, e.g. “#general”.
username
The username that will post to Slack. Defaults to “Python logger”.
icon_url
URL to an image to use as the icon for the logger user
icon_emoji
emoji to use as the icon. Overrides icon_url. If neither icon_url nor icon_emoji is set, :heavy_exclamation_mark: will be used.
Suggested Django configuration
Add slacker_log_handler to INSTALLED_APPS
Set SLACK_API_KEY
Sample Django logging configuration
Logging reference: https://docs.djangoproject.com/en/1.7/topics/logging/
Sends INFO and ERRORS to Slack, as well as errors to admin emails.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'slack-error': {
'level': 'ERROR',
'api_key': SLACK_API_KEY,
'class': 'slacker_log_handler.SlackerLogHandler',
'channel': '#general'
},
'slack-info': {
'level': 'INFO',
'api_key': SLACK_API_KEY,
'class': 'slacker_log_handler.SlackerLogHandler',
'propagate': True,
},
}
}
License
Apache 2.0
Slacker is also under Apache 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for slacker_log_handler-1.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63380d9e0cbb7f0f8e348f7dd59b9ea2ab4f0c630806ca0e7896621753c314a3 |
|
MD5 | e6ed5be946a9d6cce12a6b6dc5500b79 |
|
BLAKE2b-256 | 08a05e7713f49a07a8a5a737ed37c1e9f6d79b564cbe4bf1e1eb5c89a4f368ae |