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

1import logging 

2 

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 

8 

9from mindsdb.utilities.log import get_mindsdb_log_level 

10 

11 

12def setup_logger(resource: Resource, exporter: LogExporter) -> None: 

13 """ 

14 Setup OpenTelemetry logging 

15 """ 

16 mindsdb_log_level = get_mindsdb_log_level() 

17 

18 logger_provider = LoggerProvider(resource=resource) 

19 set_logger_provider(logger_provider) 

20 

21 logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter)) 

22 handler = LoggingHandler(level=mindsdb_log_level, logger_provider=logger_provider) 

23 

24 # Attach OTLP handler to root logger 

25 logging.getLogger().addHandler(handler)