From 5ac02660f7ef0939f49e36d678839ef8b1d97f0c Mon Sep 17 00:00:00 2001 From: Alc-Alc Date: Sun, 25 Oct 2026 16:28:35 +0530 Subject: [PATCH 1/3] build(deps): add celery extra to `django-structlog` --- pyproject.toml | 2 +- uv.lock | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b08e404c4..d2905b2ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ dependencies = [ "django-pipeline==4.1.0", "django-polymorphic==4.11.7", "django-sitetree==1.18.1", - "django-structlog==10.1.0", + "django-structlog[celery]==10.1.0", "django-tastypie==0.15.1", "django-translation-aliases==0.1.0", "django-waffle==5.0.0", diff --git a/uv.lock b/uv.lock index 431d0918c..5419a98bf 100644 --- a/uv.lock +++ b/uv.lock @@ -811,6 +811,11 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/04/96/c635a5b295246f9dd73098986694b2011968a502d5221261a1b0f439586b/django_structlog-10.1.0-py3-none-any.whl", hash = "sha256:450842bfb03887fc14469570769e515d22ea67d753848a25cdbd05405382c090", size = 18461, upload-time = "2026-05-30T23:15:48.118Z" }, ] +[package.optional-dependencies] +celery = [ + { name = "celery" }, +] + [[package]] name = "django-stubs" version = "6.1.1" @@ -1756,7 +1761,7 @@ dependencies = [ { name = "django-pipeline" }, { name = "django-polymorphic" }, { name = "django-sitetree" }, - { name = "django-structlog" }, + { name = "django-structlog", extra = ["celery"] }, { name = "django-tastypie" }, { name = "django-translation-aliases" }, { name = "django-waffle" }, @@ -1844,7 +1849,7 @@ requires-dist = [ { name = "django-polymorphic", specifier = "==4.11.7" }, { name = "django-sitetree", specifier = "==1.18.1" }, { name = "django-storages", marker = "extra == 'prod'", specifier = "==1.14.6" }, - { name = "django-structlog", specifier = "==10.1.0" }, + { name = "django-structlog", extras = ["celery"], specifier = "==10.1.0" }, { name = "django-tastypie", specifier = "==0.15.1" }, { name = "django-translation-aliases", specifier = "==0.1.0" }, { name = "django-waffle", specifier = "==5.0.0" }, From 5a58adb5e32da519bdff856a1114edcc00c23a1e Mon Sep 17 00:00:00 2001 From: Alc-Alc Date: Sun, 25 Oct 2026 16:29:03 +0530 Subject: [PATCH 2/3] feat(logging): enable `django-structlog` for celery tasks --- pydotorg/celery.py | 2 ++ pydotorg/settings/base.py | 1 + 2 files changed, 3 insertions(+) diff --git a/pydotorg/celery.py b/pydotorg/celery.py index 8fdcb4de6..4cde71b41 100644 --- a/pydotorg/celery.py +++ b/pydotorg/celery.py @@ -5,11 +5,13 @@ from celery import Celery from celery.signals import setup_logging from django.core import management +from django_structlog.celery.steps import DjangoStructLogInitStep os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pydotorg.settings.local") app = Celery("pydotorg") app.config_from_object("django.conf:settings", namespace="CELERY") +app.steps["worker"].add(DjangoStructLogInitStep) @setup_logging.connect diff --git a/pydotorg/settings/base.py b/pydotorg/settings/base.py index 1b0e01103..28be5ae08 100644 --- a/pydotorg/settings/base.py +++ b/pydotorg/settings/base.py @@ -283,6 +283,7 @@ DJANGO_STRUCTLOG_STATUS_4XX_LOG_LEVEL = logging.DEBUG # Client IPs were never logged; keep it that way. DJANGO_STRUCTLOG_IP_LOGGING_ENABLED = False +DJANGO_STRUCTLOG_CELERY_ENABLED = True ### Honeypot HONEYPOT_FIELD_NAME = "email_body_text" From 5cd8dd446553e4d2c822395fdbfdfb2c9b4538e9 Mon Sep 17 00:00:00 2001 From: Alc-Alc Date: Sun, 25 Oct 2026 16:29:11 +0530 Subject: [PATCH 3/3] chore(gitignore): ignore egg-info build artifacts --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b1ce33428..da38113f2 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ static/css/*.min.css __pycache__ *.db *.py[co] +*.egg-info/ .vscode .~lock.* .idea