From 46c7d9ffebef8811f65b7ab09b1b2e0b1d81fe04 Mon Sep 17 00:00:00 2001 From: ramvignesh-b Date: Wed, 29 Apr 2026 00:34:16 +0530 Subject: [PATCH] refactor: centralize log directory path handling and remove redundant log directory creation in Dockerfile --- backend/Dockerfile | 3 --- backend/config/logging.py | 15 +++++++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index f25ee81..dd60c38 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -10,9 +10,6 @@ RUN uv sync --frozen --no-dev COPY . . -# Make the temp log dir writable since server is running rootless -RUN mkdir -p /app/logs && chmod -R 777 /app/logs - EXPOSE 8000 CMD ["sh", "-c", "uv run manage.py migrate && uv run gunicorn --bind 0.0.0.0:8000 --access-logfile - --error-logfile - --capture-output --log-level debug config.wsgi:application"] diff --git a/backend/config/logging.py b/backend/config/logging.py index 6349337..0855485 100644 --- a/backend/config/logging.py +++ b/backend/config/logging.py @@ -1,5 +1,12 @@ +from pathlib import Path + import structlog +BASE_DIR = Path(__file__).resolve().parent.parent +LOGS_DIR = BASE_DIR / "logs" + +LOGS_DIR.mkdir(parents=True, exist_ok=True) + structlog.configure( processors=[ structlog.contextvars.merge_contextvars, @@ -41,22 +48,22 @@ LOGGING = { }, "json_file": { "class": "logging.handlers.WatchedFileHandler", - "filename": "logs/json.log", + "filename": LOGS_DIR / "json.log", "formatter": "json_formatter", }, "flat_line_file": { "class": "logging.handlers.WatchedFileHandler", - "filename": "logs/flat_line.log", + "filename": LOGS_DIR / "flat_line.log", "formatter": "key_value", }, "letters_log": { "class": "logging.handlers.WatchedFileHandler", - "filename": "logs/letters.log", + "filename": LOGS_DIR / "letters.log", "formatter": "key_value", }, "scheduler_log": { "class": "logging.handlers.WatchedFileHandler", - "filename": "logs/scheduler.log", + "filename": LOGS_DIR / "scheduler.log", "formatter": "key_value", }, },