Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

https://badge.fury.io/py/opentelemetry-exporter-gcp-logging.svg Documentation Status

This library provides support for exporting logs to Google Cloud Logging.

To get started with instrumentation in Google Cloud, see Generate traces and metrics with Python.

To learn more about instrumentation and observability, including opinionated recommendations for Google Cloud Observability, visit Instrumentation and observability.

For resource detection and GCP trace context propagation, see opentelemetry-tools-google-cloud. For the Google Cloud Trace exporter, see opentelemetry-exporter-gcp-trace.

Installation

pip install opentelemetry-exporter-gcp-logging

Usage

import logging
from opentelemetry.exporter.cloud_logging import (
    CloudLoggingExporter,
)
from opentelemetry.sdk.resources import Resource
from opentelemetry._logs import set_logger_provider
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor

logger_provider = LoggerProvider(
    resource=Resource.create(
        {
            "service.name": "shoppingcart",
            "service.instance.id": "instance-12",
        }
    ),
)
set_logger_provider(logger_provider)
exporter = CloudLoggingExporter(default_log_name='my_log')
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
handler = LoggingHandler(level=logging.ERROR, logger_provider=logger_provider)

# Attach OTLP handler to root logger
logging.getLogger().addHandler(handler)

# Create namespaced logger
# It is recommended to not use the root logger with OTLP handler
# so telemetry is collected only for the application
logger1 = logging.getLogger("myapp.area1")

logger1.warning("string log %s", "here")

If your code is running in a GCP environment with a supported Cloud Logging agent (like GKE, Cloud Run, GCE, etc.), you can write logs to stdout in Cloud Logging structured JSON format. Pass the structured_json_file argument and use SimpleLogRecordProcessor:

import sys
from opentelemetry.exporter.cloud_logging import (
    CloudLoggingExporter,
)
from opentelemetry._logs import set_logger_provider
from opentelemetry.sdk._logs import LoggerProvider
from opentelemetry.sdk._logs.export import SimpleLogRecordProcessor

logger_provider = LoggerProvider()
set_logger_provider(logger_provider)
exporter = CloudLoggingExporter(structured_json_file=sys.stdout)
logger_provider.add_log_record_processor(SimpleLogRecordProcessor(exporter))


otel_logger = logger_provider.get_logger(__name__)
otel_logger.emit(attributes={"hello": "world"}, body={"foo": {"bar": "baz"}})

References

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opentelemetry_exporter_gcp_logging-1.13.0a0.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file opentelemetry_exporter_gcp_logging-1.13.0a0.tar.gz.

File metadata

File hashes

Hashes for opentelemetry_exporter_gcp_logging-1.13.0a0.tar.gz
Algorithm Hash digest
SHA256 546d2c5b806ec30f28a320df4e2a3ce12bfb3567d212acb6a974a5c7a079aa63
MD5 012d77b002474b92690dfd2c729f07c9
BLAKE2b-256 91fa9a6a9f6e34000314e424101a66bc8d23a2d963e3b1dd543a39816e25a31b

See more details on using hashes here.

File details

Details for the file opentelemetry_exporter_gcp_logging-1.13.0a0-py3-none-any.whl.

File metadata

File hashes

Hashes for opentelemetry_exporter_gcp_logging-1.13.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 664fd97624a6a545d6c18a3bc0e8404df6ed6d8f290bd5b14bfd2253752f6d67
MD5 429e76340f68df8214171207bf671b71
BLAKE2b-256 babd3aa4c3066d5e28290229b4be2aafd84a0ac33cc56154211f7b8affc70cdf

See more details on using hashes here.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page