Skip to main content

Utilities for logging with orjson serialization and advanced features

Project description

ss-utils-logging

A Python logging utility package with orjson serialization and advanced configuration features.

Features

  • ORJSON Serialization: High-performance JSON logging with orjson
  • YAML Configuration: Easy logging setup using YAML configuration files
  • Merging Logger Adapter: Advanced adapter that properly merges extra fields (fixes Python <3.13 limitation)
  • Console & JSON Formatters: Flexible formatting options for different output needs
  • Config File Generation: Automatically generate example configuration files

Installation

uv add ss-utils-logging

Quick Start

# [one-time] Generate example configuration files in `config/` folder
# This creates example YAML configuration files (logging.yaml and logging.prod.yaml) that you can customize for your needs.
uv run ss-utils-logging config --no-overwrite
from ss_utils_logging import configure_logging, get_logger, generate_config_files

# Configure logging with YAML file
configure_logging("config/logging.yaml")

# Set up a logger with extra context
logger = get_logger(__name__, extra={"service": "my-app", "version": "1.0.0"})

# Log with additional context (optional)
logger.info("Processing request", user_id=123, action="login")

Key Components

MergingLoggerAdapter

Fixes the Python <3.13 limitation where LoggerAdapter doesn't properly merge extra fields from both the adapter and individual log calls.

Formatters

  • ConsoleFormatter: Human-readable console output
  • ORJSONFormatter: High-performance JSON output using orjson

Configuration Management

  • configure_logging(): Set up logging from YAML configuration
  • generate_config_files(): Create example configuration files
  • get_logger(): Get logger instances with optional extra context

Test notes

  • Tested only on macos

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

ss_utils_logging-0.0.9.tar.gz (65.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ss_utils_logging-0.0.9-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file ss_utils_logging-0.0.9.tar.gz.

File metadata

  • Download URL: ss_utils_logging-0.0.9.tar.gz
  • Upload date:
  • Size: 65.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for ss_utils_logging-0.0.9.tar.gz
Algorithm Hash digest
SHA256 188393634149d0790c52d7aeecf23ede2756c95a21ee03142ac817f644458cf6
MD5 3c02baf36f73e2c36cc84a2f925fa461
BLAKE2b-256 3e5208b5614f9a0cc33b7e60e7d5a0dac5fe7ce55941fe03925df4d0b0b45ad8

See more details on using hashes here.

File details

Details for the file ss_utils_logging-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for ss_utils_logging-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 c3823299338a1345401059f9607e3e82e7b95120f29a69fa8e0ebf3af157396d
MD5 43599ab74337406b33793bb0f1517509
BLAKE2b-256 c36bce92beb4143d47c92d52135bfb66383e29154b104a54caa1b2ec2ace9025

See more details on using hashes here.

Supported by

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