Lightweight OpenTelemetry logging client for LogzAI
Project description
logzai-otlp
Lightweight OpenTelemetry logging client for LogzAI.
- Transport: OTLP over HTTP or gRPC
- Structured logs: pass arbitrary keyword args as attributes
- Graceful shutdown: buffers flushed on process exit
Installation
pip install logzai-otlp
Quick start (HTTP OTLP)
from logzai_otlp import init, info, error, shutdown
init(
org="your-org-id",
api_key="your-api-key",
service_name="orders-api",
environment="prod",
endpoint="https://collector.your-domain.tld/v1/logs", # OTLP/HTTP endpoint
protocol="http", # default
)
info("User logged in", user_id="123", method="oauth")
error("Payment failed", order_id="42", reason="card_declined")
# optional – logs are flushed automatically at process exit
shutdown()
Quick start (gRPC OTLP)
from logzai_otlp import init, info
init(
org="your-org-id",
api_key="your-api-key",
# gRPC OTLP endpoints are host:port (no path)
endpoint="collector.your-domain.tld:4317",
protocol="grpc",
)
info("Started via gRPC", node="worker-1")
Using standard logging
This client installs an OpenTelemetry handler on the logzai logger. You can use the standard library logging API if you prefer:
import logging
from logzai_otlp import init
init(org="org", api_key="key")
logger = logging.getLogger("logzai")
logger.info("Inventory updated", extra={"sku": "A-42", "qty": 3})
API
init(
org: str,
api_key: str,
*,
service_name: str = "app",
environment: str = "prod",
endpoint: str = "http://localhost:4318/v1/logs",
protocol: str = "http", # "http" | "grpc"
) -> None
- org: Your organization identifier; included in resource attributes
- api_key: Sent as
x-api-keyheader for OTLP/HTTP - service_name: OpenTelemetry
service.nameresource attribute - environment: OpenTelemetry
deployment.environmentresource attribute - endpoint: OTLP collector endpoint
- HTTP example:
https://collector.example.com/v1/logs - gRPC example:
collector.example.com:4317
- HTTP example:
- protocol:
http(default) orgrpc
Convenience logging helpers:
debug(message: str, **attrs) -> None
info(message: str, **attrs) -> None
warning(message: str, **attrs) -> None
warn(message: str, **attrs) -> None # alias of warning
error(message: str, **attrs) -> None
critical(message: str, **attrs) -> None
shutdown() -> None # flush and shutdown provider
All extra keyword arguments are sent as structured log attributes.
Requirements
- Python >= 3.9
opentelemetry-sdk>=1.27.0opentelemetry-exporter-otlp>=1.27.0
License
MIT – see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file logzai_otlp-0.1.4.tar.gz.
File metadata
- Download URL: logzai_otlp-0.1.4.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
305dd3d6ec9f59eef55c4ca8a78175d2534840f0618ad2ce348a8dc1b9c62866
|
|
| MD5 |
05fc851b18c6f9030942433e1c965030
|
|
| BLAKE2b-256 |
5c3012cbfd9c4cd54f10c8341e21fb294e0ea47f710d177dac3c9c7908bcd079
|
File details
Details for the file logzai_otlp-0.1.4-py3-none-any.whl.
File metadata
- Download URL: logzai_otlp-0.1.4-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e95e1335a2472781ec83bff2a6265ce80c5a889a825c7b630f7b7eb03a549dc3
|
|
| MD5 |
ba3e2ad9b9fd82e22c6575795abcb2b1
|
|
| BLAKE2b-256 |
56af9570db614fa7ad31bd69619187fdcbbf5c236e7b945d0841bcb189f08768
|