import os import threading from logging.handlers import WatchedFileHandler import logging handler = WatchedFileHandler('foo') record = logging.LogRecord('foo', logging.WARN, 'foo', 25, 'foo', None, None) def write(): handler.emit(record) os.unlink('foo') a = threading.Thread(target=write) b = threading.Thread(target=write) a.start() b.start() a.join() b.join() handler.emit(record)