          split = os.path.splitext(src)
          dst = split[0] + "_" + now + split[1]
          logger.info("Backing up original alignments to '%s'", dst)
          os.rename(src, dst)
  
      # << VALIDATION >> #
  
      def frame_exists(self, frame):
          """ return path of images that have faces """
          retval = frame in self.data.keys()
 
</s> remove         print("Backing up original alignments to {}".format(dst))
 </s> add         logger.info("Backing up original alignments to '%s'", dst) </s> remove         return frame in self.data.keys()
 </s> add         retval = frame in self.data.keys()
        logger.trace(retval)
        return retval </s> remove             return False
        return bool(len(self.data.get(frame, list())) > 1)
 </s> add             retval = False
        else:
            retval = bool(len(self.data.get(frame, list())) > 1)
        logger.trace(retval)
        return retval </s> remove         if self.verbose:
            print("Renamed {} to {}".format(src, dst))
 </s> add         logger.verbose("Renamed '%s' to '%s'", src, dst)
        logger.debug("Backed up alignments")
          split = os.path.splitext(src)
          dst = split[0] + "_" + now + split[1]
          logger.info("Backing up original alignments to '%s'", dst)
          os.rename(src, dst)
        logger.debug("Backed up alignments")
  
      # << VALIDATION >> #
  
      def frame_exists(self, frame):
          """ return path of images that have faces """
          retval = frame in self.data.keys()
keep keep keep add keep keep keep keep keep keep
 Logging (#541)

* Convert prints to logger. Further logging improvements. Tidy  up

* Fix system verbosity. Allow SystemExit

* Fix reload extract bug

* Child Traceback handling

* Safer shutdown procedure

* Add shutdown event to queue manager

* landmarks_as_xy > property. GUI notes + linting. Aligner bugfix

* fix FaceFilter. Enable nFilter when no Filter is supplied

* Fix blurry face filter

* Continue on IO error. Better error handling

* Explicitly print stack trace tocrash log

* Windows Multiprocessing bugfix

* Add git info and conda version to crash log

* Windows/Anaconda mp bugfix

* Logging fixes for training 
lib/alignments.py