Skip to main content

django-eventlog stores event messages in a Django model.

Project description

https://img.shields.io/pypi/v/django-eventlog.svg https://github.com/bartTC/django-eventlog/actions/workflows/push.yml/badge.svg

📖 Full documentation: https://django-eventlog.readthedocs.io/

Compatibility Matrix:

Py/Dj

3.8

3.9

3.10

3.11

3.12

3.2 (LTS)

4.0

4.1

4.2 (LTS)

5.0

django-eventlog

django-eventlog is a very simple event logger you can use to track certain actions in your code. Events are stored in a Django model and can be viewed in the Django Admin.

Usage Example:

from eventlog import EventGroup

e = EventGroup()                       # Start a new Event Group
e.info('About to send 1000 mails.',    # Trigger an Event
       initiator='Mailer Daemon')
try:
    # ... sending 1000 mails
    e.info('All emails sent!',         # Trigger an Event in the same group,
           initiator='Mailer Daemon')  # so they are combined in the admin.
except Exception:
    e.error('There was an error sending the emails.',
            initiator='Mailer Daemon')

You can reuse an event group by specifying a group name and attach optional data. Data must be JSON serializable.

from eventlog import EventGroup

def purchase():
    e = EventGroup(group_id=f"Order {self.order.pk}")
    e.info("Sent order to Shopify", data={"items": [1, 2, 3]})

def subscribe_newsletter():
    e = EventGroup(group_id=f"Order {self.order.pk}")
    e.info("User subscribed to newsletter on checkout", data={"email": "user@example.com"})

Events can be grouped in a “Event Group” and when hovering over one item in the admin, all events of the same group are highlighted:

https://github.com/bartTC/django-eventlog/raw/main/docs/_static/change_list.png

The details view of an event will list all other events of this group so you can track the progress:

https://github.com/bartTC/django-eventlog/raw/main/docs/_static/change_form.png

Changelog

1.5 (wip)

  • Event can have optional, JSON serializable data attached.

  • Fixed dark mode colors.

  • Various Admin UI improvements.

1.4 (2024-03-05)

  • Event groups can now have arbitrary names instead of UUIDs.

  • Event comments is a textfield.

  • Fixed potential migration warnings around AutoFields.

1.3 (2023-10-04)

  • Python 3.12 compatibility

  • Django 5.0 support

  • Type Annotations

1.2 (2023-04-28)

  • Python 3.7 to 3.11 compatibility

  • Django 3.2 to 4.2 support

1.1 (2018-05-11)

  • Added ability to manually set a group id to make an EventGroup object reusable through threads.

1.0 (2018-02-13)

  • Production ready 1.0 release.

  • The details Admin view now displays all events of the group with an annotated delay, so you can see the progress of the group.

0.9 (2018-02-13)

  • Initial release.

  • Django 1.8 to 2.0 compatibility.

  • Python 2.7 to 3.6 compatibility.

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-eventlog-1.5.tar.gz (891.2 kB view details)

Uploaded Source

Built Distribution

django_eventlog-1.5-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file django-eventlog-1.5.tar.gz.

File metadata

  • Download URL: django-eventlog-1.5.tar.gz
  • Upload date:
  • Size: 891.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.1

File hashes

Hashes for django-eventlog-1.5.tar.gz
Algorithm Hash digest
SHA256 baf475584a26d8237268e960033e79349656186f94e895b2faca9ddd408a4def
MD5 c5a02752ef9d5a8cc063224114cbebca
BLAKE2b-256 ed5f870f0a439588f061122dfe15cd8e5a8033c2c8648979a9454fa48e275d75

See more details on using hashes here.

File details

Details for the file django_eventlog-1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for django_eventlog-1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 aaa19808ee87b4df91ab86211cb9708b7be920ac714580f95fd5f9765c0953b9
MD5 280dacd8fa8b405bd9798c8053896e22
BLAKE2b-256 f64c09b6b127972afa37e94d469dd4795648c9b02fe69e4fa5fa13e47be0fb9b

See more details on using hashes here.

Supported by

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