|
107 | 107 | "hijack.contrib.admin", |
108 | 108 | "guardian", |
109 | 109 | "channels", |
| 110 | + "mitol.observability.apps.ObservabilityConfig", |
110 | 111 | # Put our apps after this point |
111 | 112 | "main", |
112 | 113 | "openapi", |
|
336 | 337 | EMBEDLY_EMBED_URL = get_string("EMBEDLY_EMBED_URL", "https://api.embed.ly/1/oembed") |
337 | 338 | EMBEDLY_EXTRACT_URL = get_string("EMBEDLY_EMBED_URL", "https://api.embed.ly/1/extract") |
338 | 339 |
|
339 | | -# Logging configuration |
340 | | -LOG_LEVEL = get_string("MITOL_LOG_LEVEL", "INFO") |
341 | | -DJANGO_LOG_LEVEL = get_string("DJANGO_LOG_LEVEL", "INFO") |
342 | | -OS_LOG_LEVEL = get_string("OS_LOG_LEVEL", "INFO") |
343 | | - |
344 | | -# For logging to a remote syslog host |
345 | | -LOG_HOST = get_string("MITOL_LOG_HOST", "localhost") |
346 | | -LOG_HOST_PORT = get_int("MITOL_LOG_HOST_PORT", 514) |
347 | | - |
348 | 340 | HOSTNAME = platform.node().split(".")[0] |
349 | 341 |
|
350 | | -LOGGING = { |
351 | | - "version": 1, |
352 | | - "disable_existing_loggers": False, |
353 | | - "filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}}, |
354 | | - "formatters": { |
355 | | - "verbose": { |
356 | | - "format": ( |
357 | | - "[%(asctime)s] %(levelname)s %(process)d [%(name)s] " |
358 | | - "%(filename)s:%(lineno)d - " |
359 | | - f"[{HOSTNAME}] - %(message)s" |
360 | | - ), |
361 | | - "datefmt": "%Y-%m-%d %H:%M:%S", |
362 | | - } |
363 | | - }, |
364 | | - "handlers": { |
365 | | - "console": { |
366 | | - "level": LOG_LEVEL, |
367 | | - "class": "logging.StreamHandler", |
368 | | - "formatter": "verbose", |
369 | | - }, |
370 | | - "syslog": { |
371 | | - "level": LOG_LEVEL, |
372 | | - "class": "logging.handlers.SysLogHandler", |
373 | | - "facility": "local7", |
374 | | - "formatter": "verbose", |
375 | | - "address": (LOG_HOST, LOG_HOST_PORT), |
376 | | - }, |
377 | | - "mail_admins": { |
378 | | - "level": "ERROR", |
379 | | - "filters": ["require_debug_false"], |
380 | | - "class": "django.utils.log.AdminEmailHandler", |
381 | | - }, |
382 | | - }, |
383 | | - "loggers": { |
384 | | - "django": { |
385 | | - "propagate": True, |
386 | | - "level": DJANGO_LOG_LEVEL, |
387 | | - "handlers": ["console", "syslog"], |
388 | | - }, |
389 | | - "django.request": { |
390 | | - "handlers": ["mail_admins"], |
391 | | - "level": DJANGO_LOG_LEVEL, |
392 | | - "propagate": True, |
393 | | - }, |
394 | | - "opensearch": {"level": OS_LOG_LEVEL}, |
395 | | - "nplusone": {"handlers": ["console"], "level": "ERROR"}, |
396 | | - "boto3": {"handlers": ["console"], "level": "ERROR"}, |
397 | | - }, |
398 | | - "root": {"handlers": ["console", "syslog"], "level": LOG_LEVEL}, |
399 | | -} |
| 342 | +# LOGGING is provided by mitol-django-observability (structlog-based, JSON in prod). |
| 343 | +# Log levels are controlled via LOG_LEVEL (root) and DJANGO_LOG_LEVEL environment |
| 344 | +# variables, read directly by the plugin. |
| 345 | +from mitol.observability.settings.logging import LOGGING # noqa: E402, F401 |
400 | 346 |
|
401 | 347 | STATUS_TOKEN = get_string("STATUS_TOKEN", "") |
402 | 348 |
|
@@ -736,8 +682,10 @@ def get_all_config_keys(): |
736 | 682 | }, |
737 | 683 | } |
738 | 684 |
|
739 | | -# OpenTelemetry configuration |
740 | | -OPENTELEMETRY_ENABLED = get_bool("OPENTELEMETRY_ENABLED", default=False) |
| 685 | +# OpenTelemetry configuration (consumed by mitol-django-observability plugin). |
| 686 | +# OTel is activated when OPENTELEMETRY_ENDPOINT (or OTEL_EXPORTER_OTLP_ENDPOINT |
| 687 | +# env var) is set, or when DEBUG=True. The old OPENTELEMETRY_ENABLED flag is no |
| 688 | +# longer supported; set OPENTELEMETRY_ENDPOINT to enable tracing. |
741 | 689 | OPENTELEMETRY_SERVICE_NAME = get_string("OPENTELEMETRY_SERVICE_NAME", "learn-ai") |
742 | 690 | OPENTELEMETRY_INSECURE = get_bool("OPENTELEMETRY_INSECURE", default=True) |
743 | 691 | OPENTELEMETRY_ENDPOINT = get_string("OPENTELEMETRY_ENDPOINT", None) |
|
0 commit comments