code: def logexception(self, logger=None):
          '''
          calls exception method on a loger and prints the log to stdout
          logger is set in the cfg
          #Todo more details here on the cfg etc
          :param logger:
          :return:
          '''
          traceback.print_exc()
          if logger: 
              logger.exception('Unexpected runtime Error...')
          else:
              self.logger.exception('Unexpected runtime Error...'f logexception(self, logger=None):
          '''
          calls exception method on a loger and prints the log to stdout
          logger is set in the cfg
          #Todo more details here on the cfg etc
          :param logger:
          :return:
          '''
          traceback.print_exc()
          if logger: 
              logger.exception('Unexpected runtime Error...')
          else:
              self.logger.exception('Unexpected runtime Error...')
docs: calls exception method on a loger and prints the log to stdout
          logger is set in the cfg
          #Todo more details here on the cfg etc
          :param logger:
          :return: