Skip to main content

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

Project description

====================== Django Log to Telegram

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

Quick start

Install django-log-to-telegram:

.. code:: bash

pip install django_log_to_telegram
  1. register a bot on Telegram (with BotFather <https://core.telegram.org/bots#6-botfather>_), start a chat with it and put the Api token in settings.py:

.. code:: python

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:

.. code:: python

INSTALLED_APPS = [
    ...
    'django_log_to_telegram',
    ...
]
  1. add the django_log_to_telegram.log.AdminTelegramHandler to your app's logging configuration, for example:

.. code:: python

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 sending 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

.. code:: python

./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.

Source Distribution

django_log_to_telegram-2023.12.18.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

django_log_to_telegram-2023.12.18-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file django_log_to_telegram-2023.12.18.tar.gz.

File metadata

File hashes

Hashes for django_log_to_telegram-2023.12.18.tar.gz
Algorithm Hash digest
SHA256 522cd9d7140ff328cf31e2c06d80f47bd7410748893b7a5ad0787797ccf082e6
MD5 280a46dc46859d85793b5d3ee5d320cd
BLAKE2b-256 3c32c11a28b78b9714010763dca0a4a789a42d61a1dcee48ab25d6f4b886daf3

See more details on using hashes here.

File details

Details for the file django_log_to_telegram-2023.12.18-py3-none-any.whl.

File metadata

File hashes

Hashes for django_log_to_telegram-2023.12.18-py3-none-any.whl
Algorithm Hash digest
SHA256 7f951b85713f1f4936620c6958dba722d98609363d5260b923251d4d3e173e2c
MD5 4c59f15247a96751a5fae0919cb9d522
BLAKE2b-256 399431898638863cc1d077637ce7c28d0ea193dd68af63219e8200a0995b6455

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page