diff --git a/config/settings.py b/config/settings.py index 23aeb12..d063d23 100644 --- a/config/settings.py +++ b/config/settings.py @@ -14,6 +14,17 @@ from pathlib import Path import environ import os import dj_database_url +import warnings +import logging + +# Suppress matplotlib and other library debug logs +os.environ['MPLBACKEND'] = 'Agg' +warnings.filterwarnings('ignore') + +# Disable specific library debug logging +logging.getLogger('matplotlib').setLevel(logging.WARNING) +logging.getLogger('matplotlib.font_manager').setLevel(logging.WARNING) +logging.getLogger('PIL').setLevel(logging.WARNING) # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent @@ -275,14 +286,14 @@ LOGGING = { # 'formatter': 'verbose', #}, 'console': { - 'level': 'DEBUG', + 'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'verbose', }, }, 'root': { 'handlers': ['console'], - 'level': 'DEBUG', + 'level': 'INFO', }, 'loggers': { 'django': { @@ -300,6 +311,37 @@ LOGGING = { 'level': 'DEBUG', 'propagate': True, }, + # Suppress verbose debug logs from various libraries + 'matplotlib': { + 'handlers': ['console'], + 'level': 'WARNING', + 'propagate': False, + }, + 'geos': { + 'handlers': ['console'], + 'level': 'WARNING', + 'propagate': False, + }, + 'env': { + 'handlers': ['console'], + 'level': 'WARNING', + 'propagate': False, + }, + 'pyplot': { + 'handlers': ['console'], + 'level': 'WARNING', + 'propagate': False, + }, + 'font_manager': { + 'handlers': ['console'], + 'level': 'WARNING', + 'propagate': False, + }, + 'environ': { + 'handlers': ['console'], + 'level': 'WARNING', + 'propagate': False, + }, }, } diff --git a/docker-compose-prod.yaml b/docker-compose-prod.yaml index 0f4d89c..e54f67e 100644 --- a/docker-compose-prod.yaml +++ b/docker-compose-prod.yaml @@ -41,6 +41,11 @@ services: - media_volume:/app/media env_file: - .env + environment: + - MPLBACKEND=Agg + - MATPLOTLIB_BACKEND=Agg + - PYTHONWARNINGS=ignore + - GDAL_DISABLE_READDIR_ON_OPEN=YES healthcheck: test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8000')\" || exit 1"] interval: 30s