The MultiprocessRotatingFileHandler is a drop-in replacement for the logging modules's RotatingFileHandler which provides a process-safe rotating log file handler using file-based locks.
Installing:
$ pip install mrfh
Where you once had:
from logging.handlers import RotatingFileHandler
logger = logging.getLogger('my_logger')
handler = RotatingFileHandler('my_log.log', maxBytes=2000, backupCount=10)
logger.addHandler(handler)
logger.debug('Some debug message!')
You can now have:
from mrfh import MultiprocessRotatingFileHandler
logger = logging.getLogger('my_logger')
handler = MultiprocessRotatingFileHandler('my_log.log', maxBytes=2000, backupCount=10)
logger.addHandler(handler)
logger.debug('Some debug message!')
Your rotating file handler is now process-safe!
To run the tests:
python setup.py test
Roughly based on the defunct ConcurrentLogHandler.
Open source MIT license.