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_safe_python-0.0.1.tar.gz (73.8 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_safe_python-0.0.1-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file ss_utils_safe_python-0.0.1.tar.gz.

File metadata

File hashes

Hashes for ss_utils_safe_python-0.0.1.tar.gz
Algorithm Hash digest
SHA256 f7918dbeb38cf21688808cfcda1e161ce06e1ee7cfb79410dee15f1dfc821de8
MD5 28c9a5026e5d33a481407fe07e0a28f2
BLAKE2b-256 739ed83c95a07d976cc2e3f84b1ecd8a22ed5f4f0ac25ca91da9108e60a96e63

See more details on using hashes here.

File details

Details for the file ss_utils_safe_python-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ss_utils_safe_python-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 496ebb1f6b76901b0b54fa242e588aca2d3a92b3ee90e963f02649580bc048fa
MD5 aafbc5d8f60b2f487cd1489a0c037e2b
BLAKE2b-256 edd7c7f7ecd35dea218886ce35bd1ed04b433e5c451a182489f808f1db6d3346

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