{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/5"},{"label":"Logging","url":"https://skillfed.io/packages/category/system-logging"}],"enrichment":{"capability":"Provides thread-safe and process-safe logging handlers for Python's standard logging module, enabling multiple processes to write concurrently to a single log file with built-in size-based and time-based rotation.","skillfed_tags":["multiprocess-logging","file-rotation","concurrent-access"],"use_cases":["Multi-worker web applications (e.g., Gunicorn, uWSGI) logging to a shared file on the same or networked filesystem.","Batch processing jobs spawned via multiprocessing that need centralized audit or error logs.","Long-running services with periodic log rotation to manage disk space without external log management.","Development and testing environments where multiple test processes write to a single consolidated log.","Applications on Windows and POSIX systems requiring cross-platform file locking without external dependencies."],"what_it_does":"concurrent-log-handler extends Python's standard logging module with handlers that safely coordinate writes from multiple processes and threads to a single log file. It uses file locking (via portalocker) to serialize access and prevent corruption when concurrent writers attempt to log simultaneously. The package supports both size-based rotation (e.g., rotate after 512 KB) and time-based rotation (e.g., daily), with optional gzip compression of rotated files.\n\nThe package is designed for applications running in multiple processes on the same machine or across different machines sharing a network drive, where a centralized log file is required without the overhead of external logging services. Version 0.9.29 addresses race conditions in forked child processes and logging during interpreter shutdown. Each process must create its own handler instance; handlers cannot be pickled and reused across process boundaries, though threads within a single process can safely share one handler.","worth_installing":"Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and solves a real problem in multi-process Python applications. Use it when you need safe concurrent logging to a single file with rotation. Not necessary if you're using a centralized logging service (e.g., CloudWatch, Logstash) or a single-process application."},"id":"concurrent-log-handler","links":{"html":"https://skillfed.io/packages/concurrent-log-handler","md":"https://skillfed.io/packages/concurrent-log-handler.md","pypi":"https://pypi.org/project/concurrent-log-handler/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-02-22","license_spdx":"Apache-2.0","license_treatment":"permissive","name":"concurrent-log-handler","python_support":"supports_current","summary":"RotatingFileHandler replacement with concurrency, gzip and Windows support. Size and time based rotation."},"popularity":{"monthly_downloads":3670494,"position":2532,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.9.29"}
