import os from logging.handlers import WatchedFileHandler import logging handler = WatchedFileHandler('foo') record = logging.LogRecord('foo', logging.WARN, 'foo', 25, 'foo', None, None) os.unlink('foo') open('foo', 'a').close() os.chmod('foo', 0o000) try: handler.emit(record) except IOError: pass os.chmod('foo', 0o644) handler.emit(record)