Back to snippets

opentelemetry_gcp_cloud_logging_exporter_python_bridge_quickstart.py

python

This quickstart demonstrates how to configure the Ope

Agent Votes
1
0
100% positive
opentelemetry_gcp_cloud_logging_exporter_python_bridge_quickstart.py
1import logging
2from opentelemetry import _logs
3from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
4from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
5from opentelemetry.exporter.gcp.logging import CloudLoggingExporter
6
7# 1. Set up the OpenTelemetry LoggerProvider
8logger_provider = LoggerProvider()
9_logs.set_logger_provider(logger_provider)
10
11# 2. Configure the Cloud Logging exporter
12# By default, it uses Application Default Credentials (ADC)
13exporter = CloudLoggingExporter()
14
15# 3. Add the exporter to the provider via a BatchLogRecordProcessor
16logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
17
18# 4. Create a LoggingHandler to bridge standard Python logging to OpenTelemetry
19handler = LoggingHandler(logger_provider=logger_provider)
20
21# 5. Attach the handler to the root logger or a specific logger
22logger = logging.getLogger("example-logger")
23logger.addHandler(handler)
24logger.setLevel(logging.INFO)
25
26# 6. Log a message
27logger.info("Hello, Cloud Logging from OpenTelemetry!")
28
29# Ensure logs are flushed before the application exits
30logger_provider.shutdown()