The Treebeard Python SDK
Project description
Treebeard
Treebeard is a Python library for efficient log forwarding with support for trace contexts and batched logging.
Installation
pip install treebeardhq
Quick Start
from treebeardhq import Treebeard, Log
# Initialize Treebeard with your API key
Treebeard.init(
api_key="your-api-key",
endpoint="https://your-logging-endpoint.com/logs"
)
# Start a trace context
trace_id = Log.start("image-processing")
try:
# Log different severity levels with optional metadata
Log.info("Starting image processing", image_format="PNG")
# Some business logic here...
Log.debug("Image validation", data={"dimensions": [1920, 1080], "color_space": "RGB"})
# More logic...
Log.info("Image processed successfully", output_size_kb=256)
except Exception as e:
Log.error("Processing failed", error=str(e))
finally:
# End the trace context
Log.end()
Logging Levels
Treebeard supports multiple logging levels:
Log.debug("Debug information")
Log.info("General information")
Log.warning("Warning message")
Log.error("Error message")
Adding Context Data
You can add metadata to your logs in two ways:
)
# Using keyword arguments
Log.info("User action",
user_id="123",
action="login",
ip="192.168.1.1"
)
Trace Contexts
Trace contexts help you group related logs together:
# Start a new trace context
trace_id = Log.start("payment-processing")
# All logs within this context will include the trace ID
Log.info("Processing payment")
Log.debug("Validating card details")
# End the trace context when done
Log.end()
Configuration Options
When initializing Treebeard, you can configure several options:
Treebeard.init(
api_key="your-api-key",
endpoint="https://your-logging-endpoint.com/logs",
debug_mode=True, # Enable debug output
batch_size=100, # Max logs per batch
batch_age=5.0, # Max seconds before sending a batch
threading_mode="thread" # 'thread', 'eventlet', or 'gevent'
)
Thread Safety
Treebeard is thread-safe and supports different threading modes:
- Standard Python threading (default)
- Eventlet
- Gevent
License
MIT License - see LICENSE file 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 treebeardhq-0.4.10.dev2.tar.gz.
File metadata
- Download URL: treebeardhq-0.4.10.dev2.tar.gz
- Upload date:
- Size: 25.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e0e6cf2305cfcf2dfcfa75dc3d97960d54a966b4b4c5e15f687a0a10dafebca
|
|
| MD5 |
628c58cb0aff28e0938407c5c6589d81
|
|
| BLAKE2b-256 |
aa10166cecaacdd5ae58d7658470ce2aaad63a0853ff2afebb7b90dd4df15137
|
File details
Details for the file treebeardhq-0.4.10.dev2-py3-none-any.whl.
File metadata
- Download URL: treebeardhq-0.4.10.dev2-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eac99dd4205152dcc172602535e33684637728406e550f13bcfef66a5d7227d4
|
|
| MD5 |
c29acdeb14123db00b011a32dc077a1d
|
|
| BLAKE2b-256 |
6848cab1a982579e530b683d5fe75744dce154fc9cf88373bcb96a3071f6ebeb
|