django-eventlog stores event messages in a Django model.
Project description
📖 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:
The details view of an event will list all other events of this group so you can track the progress:
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
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 Distribution
Built Distribution
Hashes for django_eventlog-1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaa19808ee87b4df91ab86211cb9708b7be920ac714580f95fd5f9765c0953b9 |
|
MD5 | 280dacd8fa8b405bd9798c8053896e22 |
|
BLAKE2b-256 | f64c09b6b127972afa37e94d469dd4795648c9b02fe69e4fa5fa13e47be0fb9b |