'Emit a record.
First check if the underlying file has changed, and if it
has, close the old stream and reopen the file to get the
current stream.'

def emit(self, record):

    if (not os.path.exists(self.baseFilename)):
        stat = None
        changed = 1
    else:
        stat = os.stat(self.baseFilename)
        changed = ((stat[ST_DEV] != self.dev) or (stat[ST_INO] != self.ino))
    if (changed and (self.stream is not None)):
        self.stream.flush()
        self.stream.close()
        self.stream = self._open()
        if (stat is None):
            stat = os.stat(self.baseFilename)
        (self.dev, self.ino) = (stat[ST_DEV], stat[ST_INO])
    logging.FileHandler.emit(self, record)
