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.15.0a0.tar.gz (23.4 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.15.0a0.tar.gz.

File metadata

File hashes

Hashes for opentelemetry_exporter_gcp_logging-1.15.0a0.tar.gz
Algorithm Hash digest
SHA256 37549254b3b2d5e163353d4c99a8f105208fcc46e4db8ef656e462849d73fc46
MD5 610f52da82bb17c6ed2d1747d87a9a29
BLAKE2b-256 87a9834d1acbfa4eae982811372d7fafa42d73b8023b1a4f82fdc3ab116a9dea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for opentelemetry_exporter_gcp_logging-1.15.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0752095550266643b08ea77be77423954996a84eb75a16f0d7f406a93f77410
MD5 ce42ec84e7fed20d015017b0da3775cc
BLAKE2b-256 1fcf3aadabd27bb7e03aaba602785799534f445a5dd8d96f2cad46e5e53a2ad4

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