RotatingFileHandler replacement with concurrency, gzip and Windows support --------------------------------------------------------------------------
This package provides an additional log handler for Python's standard logging package (PEP 282). This handler will write log events to a log file which is rotated when the log file reaches a certain size. Multiple processes can safely write to the same log file concurrently. Rotated logs can be gzipped if desired. Windows and POSIX systems are supported. An optional threaded queue logging handler is provided to perform logging in the background.
This is a fork of Lowell Alleman's ConcurrentLogHandler 0.9.1 with additional enhancements:
* Renamed package to `concurrent_log_handler` * Provide `use_gzip` option to compress rotated logs * Support for Windows * Note: PyWin32 is required on Windows, but can't be installed as an automatic dependency because it's not currently installable through pip. * Fix deadlocking problem with ConcurrentLogHandler under newer Python * More secure generation of random numbers for temporary filenames * Change the name of the lockfile to have .__ in front of it (hide it on Posix) * Provide a QueueListener / QueueHandler implementation for handling log events in a background thread. Optional: requires Python 3.
`pip install concurrent-log-handler`
News / Changes ==============
- 0.9.7/0.9.6: Fix platform specifier for PyPi
- 0.9.5: Add `use_gzip` option to compress rotated logs. Add an optional threaded logging queue handler based on the standard library's `logging.QueueHandler`.
- 0.9.4: Fix setup.py to not include tests in distribution.
- 0.9.3: Refactoring release * For publishing fork on pypi as `concurrent-log-handler` under new package name. * NOTE: PyWin32 is required on Windows but is not an explicit dependency because the PyWin32 package is not currently installable through pip. * Fix lock behavior / race condition
- 0.9.2: Initial release of fork by Preston Landers based on a fork of Lowell Alleman's ConcurrentLogHandler 0.9.1 * Fixes deadlocking issue with recent versions of Python * Puts `.__` prefix in front of lock file name * Use `secrets` or `SystemRandom` if available. * Add/fix Windows support