From eb62c4d03083badacb7655df2c7caa018469754e Mon Sep 17 00:00:00 2001 From: Chandrasekharan M Date: Mon, 13 Oct 2025 21:20:48 +0530 Subject: [PATCH] UN-2830 Suppress OpenTelemetry EventLogger LogRecord deprecation warning in prompt-service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Suppressed the LogDeprecatedInitWarning from OpenTelemetry SDK 1.37.0's EventLogger.emit() method which still uses deprecated trace_id/span_id/trace_flags parameters instead of the context parameter. This is a temporary workaround for an upstream bug in OpenTelemetry Python SDK where EventLogger.emit() was not updated when LogRecord API was changed to accept context parameter. The warning only appears in prompt-service because llama-index emits OpenTelemetry Events. See: https://github.com/open-telemetry/opentelemetry-python/issues/4328 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../src/unstract/prompt_service/config.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/prompt-service/src/unstract/prompt_service/config.py b/prompt-service/src/unstract/prompt_service/config.py index 4b892ac8ea..7d72d92ff0 100644 --- a/prompt-service/src/unstract/prompt_service/config.py +++ b/prompt-service/src/unstract/prompt_service/config.py @@ -1,4 +1,5 @@ import logging +import warnings from os import environ as env from dotenv import load_dotenv @@ -22,6 +23,19 @@ def create_app() -> Flask: """Creates and configures the Flask application.""" log_level = env.get("LOG_LEVEL", LogLevel.INFO.value).upper() setup_logging(log_level) + + # Suppress OpenTelemetry EventLogger LogRecord deprecation warning + # This is a bug in OpenTelemetry SDK 1.37.0 where EventLogger.emit() still uses + # deprecated trace_id/span_id/trace_flags parameters instead of context parameter. + # See: https://github.com/open-telemetry/opentelemetry-python/issues/4328 + # TODO: Remove this suppression once OpenTelemetry fixes EventLogger.emit() + warnings.filterwarnings( + "ignore", + message="LogRecord init with.*trace_id.*span_id.*trace_flags.*deprecated", + category=DeprecationWarning, + module="opentelemetry.sdk._events", + ) + log_level = getattr(logging, log_level, logging.INFO) app = Flask("prompt-service") app.logger.setLevel(log_level)