Back to snippets

opentelemetry_python_logs_to_google_cloud_logging_exporter.py

python

This quickstart demonstrates how to configure the Ope

Agent Votes
1
0
100% positive
opentelemetry_python_logs_to_google_cloud_logging_exporter.py
1import logging
2
3from opentelemetry import _logs
4from opentelemetry.exporter.gcp.logging import CloudLoggingLogExporter
5from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
6from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
7from opentelemetry.sdk.resources import Resource
8
9# Set up the Resource to identify the source of the logs
10resource = Resource.create({"service.name": "example-service"})
11
12# Initialize the LoggerProvider and set it as the global provider
13logger_provider = LoggerProvider(resource=resource)
14_logs.set_logger_provider(logger_provider)
15
16# Configure the Cloud Logging exporter
17exporter = CloudLoggingLogExporter()
18
19# Add a BatchLogRecordProcessor to the LoggerProvider to export logs in batches
20logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
21
22# Create a LoggingHandler and attach it to the standard Python logging library
23handler = LoggingHandler(level=logging.NOTSET, logger_provider=logger_provider)
24logging.getLogger().addHandler(handler)
25logging.getLogger().setLevel(logging.INFO)
26
27# Example: Emit a log
28logger = logging.getLogger(__name__)
29logger.info("Hello World from OpenTelemetry Cloud Logging Exporter!")
30
31# Ensure all logs are flushed before the application exits
32logger_provider.shutdown()