json-logging
JSON Python Logging
Decision gist · record as of 2026-08-14
Yes, with conditions. The package is production-ready, has no dependencies, and solves a real problem for teams using centralized logging. However, the maintainer is actively seeking new owners due to work commitments. If your team can tolerate potential delays in future maintenance or is willing to fork, it is a solid choice; otherwise, verify the transition status before committing to a new project.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure Python with no runtime dependencies, distributed as a wheel.
- Actively maintained with last commit on 2026-06-17 and 310 repository stars.
- Maintainer is seeking new maintainers due to work commitments.
License · maintenance · safety
Apache License 2.0 (permissive) — Apache License 2.0 (permissive): you may use, modify, and distribute this package freely in commercial and open-source projects, provided you include a copy of the license and state significant changes.
last release 2025-07-07 (403 days) · last repo commit 2026-06-17 · 310 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 962,210 downloads/mo, #4,630 on PyPI
Alternatives
Verify before relying
pip install json-logging
import json_logging, logging, sys
json_logging.init_non_web(enable_json=True)
logger = logging.getLogger("test-logger")
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler(sys.stdout))
logger.info("test logging statement")- Whether the maintainer transition affects ongoing support or release cadence
- Specific Python version compatibility (requires_python is unspecified in metadata)
What it is and what it does
json-logging wraps Python's standard logging module to emit structured JSON output instead of plain text, making logs automatically indexable and searchable by centralized logging infrastructure. It integrates directly with web frameworks (FastAPI, Flask, Sanic, Quart, Connexion) to automatically instrument HTTP requests, extract correlation IDs for distributed tracing, and attach request context to log entries. For non-web applications, it provides basic JSON logging without correlation tracking.
The library is designed for minimal setup—a single initialization call enables JSON output across all loggers—and supports injecting arbitrary extra properties into log records. It has been used in production since 2017 with more than 8 millions downloads, though the current maintainer is seeking someone to take over active development.
Use it for
- Enable ELK or EFK stack ingestion by converting Python app logs to JSON format for Elasticsearch indexing
- Instrument FastAPI or Flask web services to automatically log HTTP requests with correlation IDs for distributed tracing
- Attach request context and correlation IDs to downstream service calls for end-to-end request tracking
- Centralize logs from multiple Python services to AWS Cloudwatch or GCP Stackdriver with structured fields
- Add custom properties to log records for richer log analysis via extra parameter
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
The package is production-ready, has no dependencies, and solves a real problem for teams using centralized logging. However, the maintainer is actively seeking new owners due to work commitments. If your team can tolerate potential delays in future maintenance or is willing to fork, it is a solid choice; otherwise, verify the transition status before committing to a new project.
Install
json-logging on PyPI
Before you install
Low friction: pure Python with no runtime dependencies, distributed as a wheel. Actively maintained with last commit on 2026-06-17 and 310 repository stars. Maintainer is seeking new maintainers due to work commitments.
License in practice
Apache License 2.0 (permissive): you may use, modify, and distribute this package freely in commercial and open-source projects, provided you include a copy of the license and state significant changes.
Quickstart
pip install json-logging
import json_logging, logging, sys
json_logging.init_non_web(enable_json=True)
logger = logging.getLogger("test-logger")
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler(sys.stdout))
logger.info("test logging statement")
Verify before relying
- Whether the maintainer transition affects ongoing support or release cadence
- Specific Python version compatibility (requires_python is unspecified in metadata)
Package facts
| License | Apache License 2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 403 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 962,210 / month, #4,630 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: FlaskIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: System :: Logging |
Evidence: json_logging-1.5.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “elk stack python logging”
- json-loggingConfigures Python's standard logging module to emit structured JSON…
- elkm1-libAsynchronous Python library for communicating with ElkM1 alarm and…
- logstash_formatterFormats Python logging output as JSON objects compatible with…
Give your agent the search over MCP, or paste the wish link into any chat.
More Logging packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Formats Python logging output as JSON, making logs machine-readable for parsing and ingestion into log aggregation tools.
Install it if you need JSON-formatted logs for aggregation or centralized monitoring.
structlog is a structured logging library that lets you emit logs as dictionaries with flexible output formats (JSON, logfmt, console) and integrates with Python's standard logging or runs standalone.
Install it if your application needs JSON or logfmt output, or if you want to add rich context to logs without string formatting.
Loguru provides a pre-configured logger that replaces Python's standard logging with a simpler, zero-boilerplate interface for writing log messages to stderr, files, or custom handlers.
Install it if you want logging to feel natural but with the power, structure that production code needs.
Adds colored output to Python's standard logging module using ANSI escape sequences, with automatic fallback support for Windows terminals.
However, it is abandoned and receives no maintenance, so it will not adapt to future Python changes or platform updates.
wandb is a machine learning experiment tracking and visualization platform that logs metrics, hyperparameters, datasets, and models to a centralized dashboard for monitoring and comparing training runs.
Install it if you need centralized experiment tracking, comparison, and visualization for machine learning projects; skip it if you prefer local-only logging or have…
See also ecs-logging · mo-logs · splunk-hec-handler · logstash_formatter · cloudwatch · JSON-log-formatter · opentelemetry-instrumentation-logging · daiquiri · google-cloud-logging · tinybird-python-sdk