Skip to main content

Zibanu logging library for django projects

Project description

Paquete de Acceso de Zibanu para Django - zibanu.django.logging package

Utilidad para poder realizar el proceso de iniciar sesión (login) a través de la API.

Además, contiene señales en la API para registrar eventos importantes relacionados con el login y otros eventos de interés.

Por ejemplo, cuando un usuario realiza un inicio de sesión éxitoso, se genera una señal que activa una función para registrar la información ingresada, como el usuario que inició sesión, la hora del inicio de sesión y otros detalles relevantes, en una tabla de registro o log. La información registrada puede incluir detalles como el tipo de acción (inicio de sesión), el usuario involucrado, la dirección IP desde la que se realizó el inicio de sesión, la fecha y hora del evento, entre otros.

Antes de registrar la información en el log, se valida si zibanu.django.logging está instalado en la API, de no estarlo, se omite el registro de eventos en el log, dado que esta funcionalidad depende de su disponibilidad.

Por último, se ha creado una tabla en la base de datos para almacenar la información de registro de eventos. Esta tabla puede tener campos como "usuario", "hora", "acción", "dirección IP", etc., para almacenar los detalles relevantes de cada evento registrado.

zibanu.django.logging.lib package

Este paquete proporciona señales y funcionalidades relacionadas con la gestión de registros y eventos en una aplicación. Adicionalmente expone la clase zibanu.django.logging.lib.DbHandler para ser utilizada dentro del sistema de logging de python3 de manera que el sistema pueda almacenarlo en la tabla de logging.

LOGGING = {
    "version": 1,
    "disable_existing_loggers": True,
    "formatters": {
        "verbose": {
            "format": "[{levelname}] - {asctime} - {module}/{process:d}/{thread:d}: {message}",
            "style": "{"
        },
        "simple": {
            "format": "[{levelname}] - {asctime} - {module}: {message}",
            "style": "{"
        }
    },
    "handlers": {
        "zibanu": {
            "level": "DEBUG",
            "class": "zibanu.django.logging.lib.handlers.DbHandler",
            "formatter": "simple"
        }
    },
    "root": {
        "handlers": ["zibanu"],
        "level": "DEBUG"
    }
}

Dentro de este paquete, se encuentran implementadas varias señales que permiten a los desarrolladores registrar y manejar eventos específicos en la aplicación. Estas señales son utilizadas para notificar sobre eventos significativos que ocurren durante la ejecución del programa.

zibanu.django.logging.lib.signals module

Este módulo tiene como objetivo gestionar eventos relacionados con el envío de correos electrónicos. Utiliza el marco de señales de Django para lograr esto.

Se utiliza para gestionar eventos relacionados con el envío de correos electrónicos.

send_mail = dispatch.Signal()

El decorador @receiver se utiliza para definir una función receptora que escucha la señal send_mail. Esta función se va a activar cada vez que se envíe la señal send_mail.

@receiver(send_mail)

Esta función actúa como el controlador de eventos que registra información relevante sobre eventos de correo electrónicos para la señal send_mail.

on_send_mail(sender, mail_from: str, mail_to: list, subject: str, smtp_error: str, smtp_code: int, **kwargs):

Esta función acepta los siguientes parámetros:

Parámetros:

  • sender: Clase de emisor de la señal.
  • mail_from: Dirección de correo electrónico del remitente.
  • mail_to: Lista de direcciones de correo destinatarios.
  • subject: Asunto del correo electrónico.
  • smtp_error: Cadena de error SMTP.
  • smtp_code: Código de error SMTP.
  • **kwargs: Diccionario de parámetros.

Retorno:

Ninguno.

zibanu.django.logging.apps module

class zibanu.django.logging.apps.ZbDjangoLogging(app_name, app_module)

Clase heredada de django.apps.AppConfig para definir la configuración de la aplicación zibanu.django.logging.

default_auto_field= 'django.db.models.AutoField'
label= 'zb_logging'
name= 'zibanu.django.logging'

Método

ready()

Método de anulación utilizado para el cargador de aplicaciones django después de que la aplicación se haya cargado correctamente.

zibanu.django.logging.models module

Contiene los modelos para la aplicación de registro. El modelo Log almacena información sobre todas las acciones que se realizan en el sistema. El modelo MailLog almacena información sobre todos los correos electrónicos que se envían a través del sistema.

Log model

El modelo Log tiene los siguientes campos:

  • action: Una cadena que describe la acción que se realizó.
  • sender: Una cadena que identifica el objeto que envió la acción.
  • detail: Una cadena que proporciona más información sobre la acción.
  • ip_address: La dirección IP del usuario que realizó la acción.
  • user: Una clave externa al modelo de usuario.

MailLog model

El modelo MailLog tiene los siguientes campos:

  • log: Una clave externa al modelo Log.
  • mail_from: La dirección de correo electrónico desde la que se envió el mensaje.
  • mail_to: La dirección de correo electrónico a la que se envió el mensaje.
  • subject: El asunto del mensaje.
  • smtp_code: El código SMTP que se devolvió cuando se envió el mensaje.
  • smtp_error: El mensaje de error SMTP que se devolvió cuando se envió el mensaje.

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

zibanu_django_logging-1.2.4.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zibanu_django_logging-1.2.4-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file zibanu_django_logging-1.2.4.tar.gz.

File metadata

  • Download URL: zibanu_django_logging-1.2.4.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for zibanu_django_logging-1.2.4.tar.gz
Algorithm Hash digest
SHA256 ee52b8d9210c2e29efa9ee37342ea2b45e17aa9f108c7160d5729bc6d2c66db9
MD5 3c57d27992c52ed4141e677ba7a14cf0
BLAKE2b-256 d2a1a25437cf23b37ac4f1dcfa03d50c8307bb2a23f3efdc9e6dbf2c9c125098

See more details on using hashes here.

File details

Details for the file zibanu_django_logging-1.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for zibanu_django_logging-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f35f147c348a361d7b6be549b94b2f587a82c848ee6f0647fca211de3491ed59
MD5 6f1f5e193d7e9f06e896a70fb2267b32
BLAKE2b-256 88c8d753ab79af3b305d04a1412317dcd5abd50d2eb473bb3b6bc59863141092

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page