Skip to main content

a simple logger that sends 500 exceptions to a Telegram bot of your choice.

Project description

This is a simple logger that sends 500 exceptions to a Telegram bot of your choice.

Quick start

Install django-log-to-telegram:

pip install -e 'git+https://github.com/thela/django_log_to_telegram.git#egg=django_log_to_telegram'

1. register a bot on Telegram (with BotFather), start a chat with it and put the Api token in settings.py:

LOG_TO_TELEGRAM_BOT_TOKEN = '12345678:replace-me-with-real-token'

Different errors will be fired if the BOT_TOKEN is not active or if there is no chat active with it.

  1. add the ‘django_log_to_telegram’ to your INSTALLED_APPS setting:
INSTALLED_APPS = [
    ...
    'django_log_to_telegram',
    ...
]
  1. add the django_log_to_telegram.log.AdminTelegramHandler to your app’s logging configuration, for example:
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'telegram_log': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django_log_to_telegram.log.AdminTelegramHandler',
            'bot_token': LOG_TO_TELEGRAM_BOT_TOKEN,
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['telegram_log'],
            'level': 'ERROR',
            'propagate': True,
        },
    },
}

if you want to test this logger in a debug environment, just remove the filters’: [‘require_debug_false’], line in the ‘handlers’ dictionary.

  1. Run python manage.py migrate to create the django_log_to_telegram models.

If everything went well, you bot will then begin sendind messages on 500 exceptions.

There is a very basic test app provided in the folder test_app. It is configured to send errors to telegram even with DEBUG active, so that it can be useful with just a

./manage.py runserver

It does not provide any database configuration, and most of Django basic settings are stripped out, so any use of it outside the very basic testing of the django_log_to_telegram mechanism is deprecated to say the least.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-log-to-telegram, version 2019.4.1
Filename, size File type Python version Upload date Hashes
Filename, size django_log_to_telegram-2019.4.1-py3-none-any.whl (17.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size django-log-to-telegram-2019.4.1.tar.gz (17.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page