Una aplicación Django para auditar las acciones de los usuarios en tus modelos.
Project description
LogMonitor 
Auditoría completa y sencilla para tus modelos Django.
LogMonitor es una potente aplicación Django diseñada para simplificar la auditoría de las acciones de los usuarios en tus modelos. Con un enfoque en la facilidad de uso y la flexibilidad, LogMonitor te permite rastrear cada cambio, asegurando la integridad y la transparencia de tus datos.
✨ Características Destacadas
- Registro Exhaustivo: Captura cada creación, actualización y eliminación de objetos en tus modelos.
- Información Detallada: Almacena información crucial como el usuario responsable, la fecha y hora exactas, la dirección IP y el navegador utilizado.
- Visualización JSON: Muestra los datos anteriores y nuevos en un formato JSON claro y fácil de interpretar, opción "Copiar JSON" para exportaciones de datos.
- Flexibilidad: Permite excluir modelos y campos específicos de la auditoría para un enfoque personalizado.
- Panel de Administración Intuitivo: Disfruta de una interfaz de administración personalizable que facilita la gestión y el análisis de los registros.
- Soporte Multilingüe: Adapta la aplicación a tus necesidades lingüísticas con soporte para múltiples idiomas.
- Filtrado Avanzado: Utiliza filtros dropdown en el panel de administración para una búsqueda y análisis eficientes de los datos.
🚀 Instalación
Instala LogMonitor con un simple comando:
pip install django-logmonitor
🛠️ Configuración en solo 2 pasos
- Añade la aplicación: Agrega 'logmonitor' a tu lista de INSTALLED_APPS en
settings.py.
INSTALLED_APPS = [
...
'logmonitor',
]
- Activa el Middleware: Incluye logmonitor.middleware.RequestMiddleware en tu configuración de MIDDLEWARE.
MIDDLEWARE = [
'logmonitor.middleware.RequestMiddleware',
...
]
(Opcional) Personaliza el AdminSite: Si utilizas un AdminSite personalizado (ej. admin_site), registra el modelo LogMonitor.
from logmonitor import register_logmonitor
from tu_proyecto.admin_site import admin_site # Reemplaza con tu AdminSite
register_logmonitor(admin_site)
(Opcional) Excluye Modelos y Campos: Define qué modelos y campos excluir de la auditoría en settings.py.
LOGMONITOR_EXCLUDE_MODELS = ['app.Model', 'otra_app.OtroModel']
LOGMONITOR_EXCLUDE_FIELDS = ['fecha_modificacion', 'campo_interno']
NOTA: Por defecto LogMonitor excluye los modelos: Session, LogEntry, MigrationRecorder.Migration; esto para evitar:
-
Registros de auditoría redundantes: El modelo Session registra información sobre las sesiones de los usuarios, y el modelo LogEntry registra las acciones realizadas en el panel de administración de Django. Auditar estos modelos podría generar una gran cantidad de registros irrelevantes y dificultar la búsqueda de información importante.
-
Problemas de recursión: Auditar el modelo LogEntry podría generar un bucle infinito, ya que cada vez que se crea un registro en LogEntry, se activaría la señal post_save, lo que generaría otro registro en LogEntry, y así sucesivamente.
-
Información técnica irrelevante para la mayoría de los usuarios: El modelo MigrationRecorder.Migration registra información sobre las migraciones de la base de datos, que es información técnica que no es relevante para la mayoría de los usuarios.
⚙️ Dependencias
Asegúrate de tener instaladas:
- Django (>=3.2)
django-admin-list-filter-dropdown (>=1.0): Proporcionada por Mart Sõmermaa. Esta librería facilita la creación de filtros dropdown en el panel de administración de Django, y LogMonitor la incluye para mejorar la experiencia de usuario al filtrar los registros de auditoría.
LogMonitor gestiona esta librería internamente, por lo que no es necesario añadirla a tu INSTALLED_APPS a menos que la estés utilizando directamente en otras partes de tu proyecto.
🤝 Contribución
¡Tu ayuda es bienvenida! Si encuentras errores, tienes sugerencias o quieres añadir nuevas características, no dudes en abrir un issue o enviar un pull request.
📄 Licencia
Este proyecto se distribuye bajo la Licencia MIT. Consulta el archivo LICENSE para obtener más detalles.
Hecho con ❤️ por Javier L. Pulido
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django-logmonitor-1.1.2.tar.gz.
File metadata
- Download URL: django-logmonitor-1.1.2.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5de2decef9c2018d28564b745be0153c9e3b25f7229590a666b3291f78864fa4
|
|
| MD5 |
3dfb5f699f33688e1dab3b9225b4366c
|
|
| BLAKE2b-256 |
01cb8572924c69fe3e2b32285064dd051793fec8d461e5b405f48d0ca600301b
|
File details
Details for the file django_logmonitor-1.1.2-py3-none-any.whl.
File metadata
- Download URL: django_logmonitor-1.1.2-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72bce128605e4ad17e3d3188c8c913a682f9b488f2e8924a428a1e1fe9b40550
|
|
| MD5 |
1e553b912b25ba62b7620334ff93eb2a
|
|
| BLAKE2b-256 |
bb7c799c2769d88b2abc9bdb9e350613ba1d3cb97a730ccdb9bf840d603f6d34
|