Coverage for mindsdb / utilities / otel / logger.py: 0%
14 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1import logging
3from opentelemetry._logs import set_logger_provider
4from opentelemetry.sdk._logs._internal.export import LogExporter
5from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
6from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
7from opentelemetry.sdk.resources import Resource
9from mindsdb.utilities.log import get_mindsdb_log_level
12def setup_logger(resource: Resource, exporter: LogExporter) -> None:
13 """
14 Setup OpenTelemetry logging
15 """
16 mindsdb_log_level = get_mindsdb_log_level()
18 logger_provider = LoggerProvider(resource=resource)
19 set_logger_provider(logger_provider)
21 logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
22 handler = LoggingHandler(level=mindsdb_log_level, logger_provider=logger_provider)
24 # Attach OTLP handler to root logger
25 logging.getLogger().addHandler(handler)