      def __init__(self, method, processes=None, verbose=False):
          self.verbose = verbose
          self.method = method
          self.procs = self.set_procs(processes)
          self.pool = None
  
      def set_procs(self, processes):
          """ Set the number of processes to use """
          if processes is None:
              running_processes = len(mp.active_children())
 
</s> remove         if self.verbose:
            print("Processing in {} processes".format(processes))
 </s> add         logger.verbose("Processing '%s' in %s processes", self._name, processes) </s> remove     def __init__(self, verbose=False):
        self.verbose = verbose
 </s> add     def __init__(self, loglevel):
        logger.debug("Initializing %s", self.__class__.__name__)
        self.loglevel = loglevel </s> remove         self.frames = Frames(arguments.frames_dir, self.verbose)
 </s> add         self.frames = Frames(arguments.frames_dir) </s> remove     def __init__(self, verbose=False, rotation=None):
 </s> add     def __init__(self, loglevel, rotation=None):
        logger.debug("Initializing %s: (rotation: %s)", self.__class__.__name__, rotation)
        self.loglevel = loglevel </s> remove                                         dest_format,
                                        self.args.verbose)

    @staticmethod
    def set_verbosity(verbose):
        """ Set the system output verbosity """
        lvl = '0' if verbose else '2'
        set_system_verbosity(lvl)
 </s> add                                         dest_format)
        ctx = mp.get_context("spawn")
        self.pool = ctx.Pool(processes=self.procs)

        self._method = method
        self._kwargs = self.build_target_kwargs(in_queue, out_queue, kwargs)
        self._args = args

        logger.debug("Initialized %s: '%s'", self.__class__.__name__, self._name)

    @staticmethod
    def build_target_kwargs(in_queue, out_queue, kwargs):
        """ Add standard kwargs to passed in kwargs list """
        kwargs["log_init"] = set_root_logger
        kwargs["log_queue"] = LOG_QUEUE
        kwargs["in_queue"] = in_queue
        kwargs["out_queue"] = out_queue
        return kwargs
      def __init__(self, method, processes=None, verbose=False):
          self.verbose = verbose
          self.method = method
          self.procs = self.set_procs(processes)
        ctx = mp.get_context("spawn")
        self.pool = ctx.Pool(processes=self.procs)

        self._method = method
        self._kwargs = self.build_target_kwargs(in_queue, out_queue, kwargs)
        self._args = args

        logger.debug("Initialized %s: '%s'", self.__class__.__name__, self._name)

    @staticmethod
    def build_target_kwargs(in_queue, out_queue, kwargs):
        """ Add standard kwargs to passed in kwargs list """
        kwargs["log_init"] = set_root_logger
        kwargs["log_queue"] = LOG_QUEUE
        kwargs["in_queue"] = in_queue
        kwargs["out_queue"] = out_queue
        return kwargs
  
      def set_procs(self, processes):
          """ Set the number of processes to use """
          if processes is None:
              running_processes = len(mp.active_children())
keep keep keep keep replace 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/multithreading.py