from django.conf import settings from django.db import models class EventifyLogger(models.Model): logger_type = models.CharField(max_length=250, choices=[ ('info', 'Info'), ('warning', 'Warning'), ('error', 'Error'), ('critical', 'Critical'), ]) logger_message = models.TextField() logger_data = models.TextField(blank=True, null=True) logger_created_at = models.DateTimeField(auto_now_add=True) logged_user = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, blank=True, null=True, ) logged_ip_address = models.GenericIPAddressField(blank=True, null=True) logged_user_device = models.CharField(max_length=250, blank=True, null=True) logged_user_browser = models.CharField(max_length=250, blank=True, null=True) def __str__(self): user_str = str(self.logged_user) if self.logged_user else "anonymous" return f"{user_str}-{self.logger_type} - {self.logger_message}"