From 30bc47321016001c4db60a4764a879d3c9a3f87f Mon Sep 17 00:00:00 2001 From: Sajeyks Date: Thu, 5 Nov 2026 13:39:45 +0300 Subject: [PATCH] Log Django errors to the console so kubectl logs shows 500 tracebacks --- dynamicweb/settings/base.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/dynamicweb/settings/base.py b/dynamicweb/settings/base.py index b26607bc..e96627d8 100644 --- a/dynamicweb/settings/base.py +++ b/dynamicweb/settings/base.py @@ -710,6 +710,24 @@ if ENABLE_LOGGING: 'handlers': handlers_dict, 'loggers': loggers_dict } +else: + # Django only prints errors (tracebacks of 500s) to the console when DEBUG is on, so + # send them to stderr, where "kubectl logs" and "docker compose logs" show them. + LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'standard': { + 'format': '%(asctime)s %(levelname)-8s [%(name)s] %(message)s', + } + }, + 'handlers': { + 'console': {'class': 'logging.StreamHandler', 'formatter': 'standard'}, + }, + 'loggers': { + 'django': {'handlers': ['console'], 'level': 'WARNING'}, + }, + } TEST_MANAGE_SSH_KEY_PUBKEY = env('TEST_MANAGE_SSH_KEY_PUBKEY') TEST_MANAGE_SSH_KEY_HOST = env('TEST_MANAGE_SSH_KEY_HOST')