Logs are not transferred correctly

I have a logger set up to save logs to a file, but I'm encountering an issue with log rotation. Not all logs are being transferred during the rotation process, and the majority of logs are missing. What could be the problem? Why are many of my logs not being transferred during log rotation, and how can I resolve this?

Here’s my logger configuration:

LOGGING = {
   "version": 1,
   "disable_existing_loggers": False,
   "filters": {"correlation_id": {"()": "django_guid.log_filters.CorrelationId"}},
   "formatters": {
       "standard": {
           "format": "[%(levelname)s] %(asctime)s [%(correlation_id)s] %(name)s: %(message)s",
       },
   },
   "handlers": {
       "file": {
           "level": "ERROR",
           "class": "logging.handlers.TimedRotatingFileHandler",
           "formatter": "standard",
           "filters": ["correlation_id"],
           "filename": "logging_view/logs/server-logs/server.log",
           "when": "midnight",
           "interval": 1,
           "backupCount": 30,
           "encoding": "utf-8",
           "delay": True,
           "utc": True,
           "atTime": None,
           "errors": None,
       },
       "custom_mail_admins_handler": {
           "level": "ERROR",
           "class": "logging_view.logger.CustomAdminEmailHandler",
           "formatter": "standard",
       },
       "js_file": {
           "level": "ERROR",
           "class": "logging.handlers.TimedRotatingFileHandler",
           "formatter": "standard",
           "filters": ["correlation_id"],
           "filename": "logging_view/logs/client-logs/client.log",
           "when": "midnight",
           "interval": 1,
           "backupCount": 30,
           "encoding": "utf-8",
           "delay": True,
           "utc": True,
           "atTime": None,
           "errors": None,
       },
   },
   "loggers": {
       "": {
           "handlers": ["file", "custom_mail_admins_handler"],
           "level": "ERROR",
           "propagate": False,
       },
       "js_logger": {
           "handlers": ["js_file"],
           "level": "ERROR",
           "propagate": False,
       },
   },
} 

settings.py

# log_viewer
LOGGING = LOGGING
LOG_VIEWER_FILES_DIR = "logging_view/logs/server-logs"
LOG_VIEWER_FILES_CLIENT_DIR = "logging_view/logs/client-logs"
LOG_VIEWER_PAGE_LENGTH = 25
LOG_VIEWER_MAX_READ_LINES = 1000
LOG_VIEWER_FILE_LIST_MAX_ITEMS_PER_PAGE = 50
# log guid
DJANGO_GUID = {
    "GUID_HEADER_NAME": "Incident-ID",
    "VALIDATE_GUID": True,
    "RETURN_HEADER": True,
    "EXPOSE_HEADER": True,
    "INTEGRATIONS": [],
    "IGNORE_URLS": [],
    "UUID_LENGTH": 32,
}
LOGIN_URL = "/admin"
Вернуться на верх