Logging django models changes.
Project description
Django simple log
Logging model changes on every create/update/delete.
TL;DR
Install using pip:
$ pip install django-simple-log
Add to installed apps:
INSTALLED_APPS = (
...
'simple_log',
...
)
Add middleware for detecting user:
MIDDLEWARE = [
...
'simple_log.middleware.ThreadLocalMiddleware',
...
]
For django 1.8:
$ pip install django-jsonfield django-transaction-hooks
DATABASES = {
'default': {
'ENGINE': 'transaction_hooks.backends.postgresql_psycopg2',
...
}
}
Migrate:
$ python manage.py migrate
Disable logging
For temporary disable logging:
from simple_log.utils import disable_logging
with disable_logging():
# create/update/delete objects
Commands
To view which models is tracking:
$ python manage.py view_tracking_models
With option -f you can view which fields is tracking for every model.
Settings
SIMPLE_LOG_MODEL_LIST
Default: ()
List of models for logging by label: ‘app.Model’.
SIMPLE_LOG_EXCLUDE_MODEL_LIST
Default: ('admin.LogEntry', 'migrations.Migration', 'sessions.Session', 'contenttypes.ContentType', 'captcha.CaptchaStore')
List of models for exclude from logging by label: ‘app.Model’.
SIMPLE_LOG_EXCLUDE_FIELD_LIST
Default: ('id', 'last_login', 'password', 'created_at', 'updated_at')
List of field names which not track.
If you need to define which fields to track for concrete model, you can add one of the properties to model: simple_log_fields = ('id',) or simple_log_exclude_fields = ('password',).
SIMPLE_LOG_ANONYMOUS_REPR
Default: 'Anonymous'
User representation that write to log, if anonymous user changes model.
SIMPLE_LOG_NONE_USER_REPR
Default: 'System'
User representation that write to log, if user not detected (If middleware not working or if model changes from task or console).
SIMPLE_LOG_MODEL
Default: 'simple_log.SimpleLog'
Model for writing logs. If you want to define your own model, you should inheritance from simple_log.SimpleLogAbstract and change this setting.
SIMPLE_LOG_MODEL_SERIALIZER
Default: 'simple_log.models.ModelSerializer'
Class for serializing model fields to json.
SIMPLE_LOG_GET_CURRENT_REQUEST
Default: 'simple_log.utils.get_current_request_default'
Function that return current request. Rewrite this setting if you already have middleware for storing current request.
SIMPLE_LOG_OLD_INSTANCE_ATTR_NAME
Default: '_old_instance'
Name of attribute for storing old instance of logging object.
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_simple_log-0.1.19-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 849cca7cd23e0bc6c41cfbaf514087a8ed86a6d520b0cdd18c7b1f36909cd3ce |
|
MD5 | d62f7cb127483aa400ddc9e76fca6a74 |
|
BLAKE2b-256 | e3413dae07ff3af7eab7554c65c3be5ffb2ac361730c0e8a51bdebaa246a8809 |