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

Metadata

Release files for opentelemetry-exporter-gcp-logging 1.15.0a0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opentelemetry-exporter-gcp-logging 1.15.0a0
File Size Uploaded Provenance
opentelemetry_exporter_gcp_logging-1.15.0a0.tar.gz 23.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for opentelemetry-exporter-gcp-logging 1.15.0a0
File Interpreter ABI Platform
opentelemetry_exporter_gcp_logging-1.15.0a0-py3-none-any.whl Python 3 none any Details

Total release size: 38.1 kB

Release files / opentelemetry_exporter_gcp_logging-1.15.0a0.tar.gz

Download URL opentelemetry_exporter_gcp_logging-1.15.0a0.tar.gz
Size 23.4 kB
Tags Source
SHA-256 checksum
How to use checksums
37549254b3b2d5e163353d4c99a8f105208fcc46e4db8ef656e462849d73fc46
BLAKE2b-256 checksum
How to use checksums
87a9834d1acbfa4eae982811372d7fafa42d73b8023b1a4f82fdc3ab116a9dea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / opentelemetry_exporter_gcp_logging-1.15.0a0-py3-none-any.whl

Download URL opentelemetry_exporter_gcp_logging-1.15.0a0-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0752095550266643b08ea77be77423954996a84eb75a16f0d7f406a93f77410
BLAKE2b-256 checksum
How to use checksums
1fcf3aadabd27bb7e03aaba602785799534f445a5dd8d96f2cad46e5e53a2ad4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for opentelemetry-exporter-gcp-logging 1.15.0a0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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