From 86ed34887b5dd561a77148e66dcc128764e2b8ce Mon Sep 17 00:00:00 2001 From: Anibal Angulo Date: Thu, 5 Mar 2026 21:04:42 +0000 Subject: [PATCH] Make cloud logging optional --- src/knowledge_search_mcp/config.py | 1 + src/knowledge_search_mcp/logging.py | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/knowledge_search_mcp/config.py b/src/knowledge_search_mcp/config.py index 1844142..2fa348b 100644 --- a/src/knowledge_search_mcp/config.py +++ b/src/knowledge_search_mcp/config.py @@ -52,6 +52,7 @@ class Settings(BaseSettings): search_limit: int = 10 log_name: str = "va_agent_evaluation_logs" log_level: str = "INFO" + cloud_logging_enabled: bool = False @classmethod def settings_customise_sources( diff --git a/src/knowledge_search_mcp/logging.py b/src/knowledge_search_mcp/logging.py index b2f667d..6fef29b 100644 --- a/src/knowledge_search_mcp/logging.py +++ b/src/knowledge_search_mcp/logging.py @@ -27,16 +27,20 @@ def _get_logger() -> logging.Logger: _eval_log = logger return logger - try: - client = google.cloud.logging.Client(project=cfg.project_id) - handler = CloudLoggingHandler(client, name=cfg.log_name) # async transport - logger.addHandler(handler) - logger.setLevel(getattr(logging, cfg.log_level.upper())) - except Exception as e: - # Fallback to console if Cloud Logging is unavailable (local dev) + if cfg.cloud_logging_enabled: + try: + client = google.cloud.logging.Client(project=cfg.project_id) + handler = CloudLoggingHandler(client, name=cfg.log_name) # async transport + logger.addHandler(handler) + logger.setLevel(getattr(logging, cfg.log_level.upper())) + except Exception as e: + # Fallback to console if Cloud Logging is unavailable (local dev) + logging.basicConfig(level=getattr(logging, cfg.log_level.upper())) + logger = logging.getLogger(cfg.log_name) + logger.warning("Cloud Logging setup failed; using console. Error: %s", e) + else: logging.basicConfig(level=getattr(logging, cfg.log_level.upper())) logger = logging.getLogger(cfg.log_name) - logger.warning("Cloud Logging setup failed; using console. Error: %s", e) _eval_log = logger return logger