Skip to main content

Format logs as GCP-compatible JSON.

Project description

gcp-log

Python library to format logs as GCP-compatible JSON.

Features:

  • Works with standard logging.
  • Supports extra for structured logging.
  • 100% compatible with the official spec.
  • Non-invasive, doesn't start any threads or processes, doesn't make network or system calls.
  • Zero configuration.
  • Fast.
  • Pure Python.
  • Type-safe.
  • Zero dependency.
  • Optional integration with orjson for better performance.

Installation

python3 -m pip install gcp-log

Optional: If you also install orjson, gcp-log will automatically use it instead of stdlib json for faster serialization:

python3 -m pip install orjson

Usage

To use it, simply set gcp_log.Formatter as the formatter for the logger:

import logging
import gcp_log

logger = logging.getLogger()
handler = logging.StreamHandler()
formatter = gcp_log.Formatter()
handler.setFormatter(formatter)
logger.addHandler(handler)

And then you can use the logger:

logger.info('aragorn', extra=dict(father='arathorn'))

The output:

{"message":"aragorn","severity":"INFO","timestamp":"2022-03-17T10:09:58.393124+00:00Z","logging.googleapis.com/sourceLocation":{"file":"/full/path/to/example.py.py","line":24,"function":"test_gcp_formatter"},"father":"arathorn"}

A human-readable version:

{
    "message": "aragorn",
    "severity": "INFO",
    "timestamp": "2022-03-17T10:09:58.393124+00:00Z",
    "logging.googleapis.com/sourceLocation": {
        "file": "/full/path/to/example.py.py",
        "line": 24,
        "function": "test_gcp_formatter",
    },
    "father": "arathorn",
}

Project details


Download files

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

Source Distribution

gcp_log-1.0.1.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

gcp_log-1.0.1-py3-none-any.whl (4.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page