docs: def setup_logging(self):
          """Setup python logging handler."""
          date_format = '%Y-%m-%dT%H:%M:%S'
          log_format = '%(asctime)s %(levelname)s: %(message)s'
  
          if self.opts.verbose:
              lvl = logging.DEBUG
          else:
              lvl = logging.INFO
              # Requests is a bit chatty
              logging.getLogger('requests').setLevel('WARNING')
  
          self.logger.setLevel(lvl)
  
          stdout = logging.StreamHandler(sys.stdout)
          stdout.setLevel(lvl)
          formatter = logging.Formatter(log_format, date_format)
          stdout.setFormatter(formatter)
          self.logger.addHandler(stdout)
  
          # Decided not to use stderr
          # stderr = logging.StreamHandler(sys.stderr)
          # stderr.setLevel(logging.ERROR)  # Error and above go to both stdout & stderr
          # formatter = logging.Formatter(log_format, date_format)
          # stderr.setFormatter(formatter)
          # self.logger.addHandler(stderr)
  
          log = self.opts.log or self.config['crony'].get('log_file')
          if log:
              logfile = logging.FileHandler(log)
              logfile.setLevel(lvl)
              formatter = logging.Formatter(log_format, date_format)
              logfile.setFormatter(formatter)
              self.logger.addHandler(logfile)
  
          if self.sentry_client:
              sentry = SentryHandler(self.sentry_client)
              sentry.setLevel(logging.ERROR)
              self.logger.addHandler(sentry)
  
          self.logger.debug('Logging setup complete.')