Django application that provides a set of tools for auditing requests and models and improve logging
GPL-2.0 License
.. image:: https://travis-ci.org/PeRDy/django-audit-tools.svg?branch=master :target: https://travis-ci.org/PeRDy/django-audit-tools .. image:: https://coveralls.io/repos/PeRDy/django-audit-tools/badge.svg?branch=master&service=github :target: https://coveralls.io/github/PeRDy/django-audit-tools?branch=master .. image:: https://img.shields.io/pypi/v/django-audit-tools.svg :target: https://pypi.python.org/pypi/django-audit-tools/ :alt: Latest Version .. image:: https://landscape.io/github/PeRDy/django-audit-tools/master/landscape.svg?style=flat :target: https://landscape.io/github/PeRDy/django-audit-tools/master :alt: Code Health
:Version: 0.3.0 :Status: Development :Author: José Antonio Perdiguero López
Warning: This package is currently under development, use at your own risk.
Note: I started the development of this project meanwhile I was working in Ebury_. So I want to show gratitude for release the code to share it with open source community.
Django application that provides a set of tools for auditing requests and models and improve logging.
Full documentation in ReadTheDocs_.
#. Add audit_tools to your INSTALLED_APPS settings like this::
INSTALLED_APPS = (
...
'audit_tools',
)
#. Add audit.middleware.AuditMiddleware to your MIDDLEWARE_CLASSES settings like this::
MIDDLEWARE_CLASSES = (
...
'audit_tools.audit.middleware.AuditMiddleware',
)
#. Configure blacklisted URLs in AUDIT_BLACKLIST settings. #. Register models that will be logged in AUDIT_LOGGED_MODELS settings. #. Execute the next django command::
python manage.py prepare_audit
Activate or deactivate audit.
Default::
AUDIT_ACTIVATE = True
Audit database connection alias.
Default::
AUDIT_DB_ALIAS = 'audit'
Audit database connection parameters.
Default::
AUDIT_DB_CONNECTION = {
'HOST': 'localhost',
'PORT': 27017,
'NAME': 'audit',
'USER': '',
'PASSWORD': '',
}
Use Celery to run in async mode.
Important: Celery concurrency level must be configure to 1 (--concurrency=1 parameter in celeryd start)
Default::
AUDIT_RUN_ASYNC = False
Celery queue name.
Default::
AUDIT_CELERY_QUEUE = 'audit'
List of models that will be logged for audit. Each entry consists in a string that represents a model using "." format.
Example::
AUDIT_LOGGED_MODELS = (
'audit_tools.audit.models.Access',
)
Default::
AUDIT_LOGGED_MODELS = ()
Blacklisted URLs. Each application may have a tuple of regex patterns. If an URL matches a pattern will not be logged.
Example::
AUDIT_BLACKLIST = {
'api': (
r'^/api/.*',
r'^/API/.*',
)
}
Default::
AUDIT_BLACKLIST = {}
Custom indexes for the accesses. There is the possibility to add new custom indexes to the Audit database.
Example::
AUDIT_ACCESS_INDEXES = [
'custom.pools.names',
'custom.pools.num_polls',
('custom.pools.names', 'custom.pools.num_polls'),
]
Custom indexes for the processes. There is the possibility to add new custom indexes to the Audit database.
Custom indexes for the model actions. There is the possibility to add new custom indexes to the Audit database.
Custom data provider. Each application may add custom data to Access entries using own functions.
Default::
AUDIT_CUSTOM_PROVIDER = {
'audit_tools': 'audit_tools.audit.middleware.custom_provider',
}
Translate Audit URLs:
Default::
AUDIT_TRANSLATE_URLS = False
.. _ReadTheDocs: http://django-audit-tools.readthedocs.org/ .. _Ebury: http://www.ebury.com