Metadata-Version: 2.4
Name: django_audit_log_middleware
Version: 0.0.6
Summary: Simple audit logging for Django requests
Home-page: https://github.com/uktrade/django-audit-log-middleware
Author: Ross Miller
Author-email: ross.miller@digita.trade.gov.uk
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: django>=4.2
Requires-Dist: django-ipware<8.0.0,>=7.0.1
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

================================
Django Audit Log Middleware
================================

This package adds simple audit logging to a Django project.

A log is generated at info level each time a request is made. The log includes the following information:

 * A UTC timestamp
 * Request method (HTTP verb)
 * Full URL
 * IP address
 * A value from a custom user field (see below)
 * The requesting user's email address
 * The requesting user's first name
 * The requesting user's last name

Installation
------------

.. code-block:: python

    pip install django-audit-log-middleware

Usage
-----

Using in a Django middleware configuration:

.. code-block:: python

    INSTALLED_APPS = [
        ...
        "django_audit_log_middleware",
    ]

    MIDDLEWARE = [
        ...
        "django_audit_log_middleware.AuditLogMiddleware",
    ]

Dependencies
------------

This project is a Django app and depends on the Django package. 

This package uses Django IPware https://github.com/un33k/django-ipware for IP address capture.

Settings
--------

:code:`AUDIT_LOG_USER_FIELD`

Provide to define a field on your user model that should be captured in the audit log. Email, first name and last name are captured by default.

Tests
-----

.. code-block:: console

    $ pip install -r requirements.txt
    $ tox
