stop workers from propagating logs

This commit is contained in:
Kenneth Kehl
2024-12-18 11:59:30 -08:00
parent 5a6980f31e
commit a45e411094
2 changed files with 6 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
import logging as real_logging
import os import os
import secrets import secrets
import string import string
@@ -36,6 +37,9 @@ class NotifyCelery(Celery):
# Configure Celery app with options from the main app config. # Configure Celery app with options from the main app config.
self.config_from_object(app.config["CELERY"]) self.config_from_object(app.config["CELERY"])
self.conf.worker_hijack_root_logger = False
logger = real_logging.getLogger("celery")
logger.propagate = False
def send_task(self, name, args=None, kwargs=None, **other_kwargs): def send_task(self, name, args=None, kwargs=None, **other_kwargs):
other_kwargs["headers"] = other_kwargs.get("headers") or {} other_kwargs["headers"] = other_kwargs.get("headers") or {}

View File

@@ -70,10 +70,12 @@ def init_app(app):
for logger_instance, handler in product(loggers, handlers): for logger_instance, handler in product(loggers, handlers):
logger_instance.addHandler(handler) logger_instance.addHandler(handler)
logger_instance.setLevel(loglevel) logger_instance.setLevel(loglevel)
logger_instance.propagate = False
warning_loggers = [logging.getLogger("boto3"), logging.getLogger("s3transfer")] warning_loggers = [logging.getLogger("boto3"), logging.getLogger("s3transfer")]
for logger_instance, handler in product(warning_loggers, handlers): for logger_instance, handler in product(warning_loggers, handlers):
logger_instance.addHandler(handler) logger_instance.addHandler(handler)
logger_instance.setLevel(logging.WARNING) logger_instance.setLevel(logging.WARNING)
logger_instance.propagate = False
# Suppress specific loggers to prevent leaking sensitive info # Suppress specific loggers to prevent leaking sensitive info
logging.getLogger("boto3").setLevel(logging.ERROR) logging.getLogger("boto3").setLevel(logging.ERROR)