  def get_loglevel(loglevel):
      ''' Check valid log level supplied and return numeric log level '''
      numeric_level = getattr(logging, loglevel.upper(), None)
      if not isinstance(numeric_level, int):
          raise ValueError('Invalid log level: %s' % loglevel)
  
      return numeric_level
  
  
  def crash_log():
 
</s> remove     ''' Check valid log level supplied and return numeric log level '''
 </s> add     """ Check valid log level supplied and return numeric log level """ </s> remove     filename = os.path.join(path, datetime.now().strftime('crash_report.%Y.%m.%d.%H%M%S%f.log'))
 </s> add     filename = os.path.join(path, datetime.now().strftime("crash_report.%Y.%m.%d.%H%M%S%f.log")) </s> remove     log_file = RotatingFileHandler(filename, backupCount=1)
 </s> add     log_file = NoInheritRotatingFileHandler(filename, backupCount=1) </s> remove         for new_level in (('VERBOSE', 15), ('TRACE', 5)):
 </s> add         for new_level in (("VERBOSE", 15), ("TRACE", 5)): </s> remove     logging.info('Log level set to: %s', loglevel.upper())
 </s> add     logging.info("Log level set to: %s", loglevel.upper())
        raise ValueError("Invalid log level: %s" % loglevel)
  def get_loglevel(loglevel):
      ''' Check valid log level supplied and return numeric log level '''
      numeric_level = getattr(logging, loglevel.upper(), None)
      if not isinstance(numeric_level, int):
        raise ValueError("Invalid log level: %s" % loglevel)
  
      return numeric_level
  
  
  def crash_log():
keep keep keep keep replace keep keep keep keep keep
 Rotating File Handler permissions fix for Windows 
lib/logger.py