X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/d084286e81b121106a0a165e3c151762635466e0..82c945d5140bce7c1884c8bc734f3403626bb5f1:/libtuer.py diff --git a/libtuer.py b/libtuer.py index f79dcc6..f1e8d54 100644 --- a/libtuer.py +++ b/libtuer.py @@ -63,20 +63,20 @@ def fire_and_forget(f): def _fire_and_forget(): try: f() - except Exception as e: - logger.critical("fire_and_forget: Got exception out of callback: %s" % str(e)) - logger.debug(traceback.format_exc()) + except Exception: + logger.critical("fire_and_forget: Got exception out of callback:\n%s" % traceback.format_exc()) t = threading.Thread(target=_fire_and_forget) t.start() # run a command asynchronously and log the return value if not 0 # prefix must be a string identifying the code position where the call came from -def fire_and_forget_cmd (cmd, log, prefix): +def fire_and_forget_cmd (cmd, log_prefix): + logger.debug("Firing and forgetting command from %s: %s" % (log_prefix,str(cmd))) def _fire_and_forget_cmd (): with open("/dev/null", "w") as fnull: retcode = subprocess.call(cmd, stdout=fnull, stderr=fnull) if retcode is not 0: - logger.error("%sReturn code %d at command: %s" % (prefix,retcode,str(cmd))) + logger.error("%sReturn code %d at command: %s" % (log_prefix,retcode,str(cmd))) fire_and_forget(_fire_and_forget_cmd) # Threaded callback class @@ -99,8 +99,7 @@ class ThreadFunction(): try: self._f(*data) except Exception as e: - logger.critical("ThreadFunction: Got exception out of handler thread %s: %s" % (self.name, str(e))) - logger.debug(traceback.format_exc()) + logger.critical("ThreadFunction: Got exception out of handler thread %s:\n%s" % (self.name, traceback.format_exc())) elif cmd == ThreadFunction._TERM: assert data is None break @@ -138,8 +137,7 @@ class ThreadRepeater(): try: self._f() except Exception as e: - logger.critical("ThreadRepeater: Got exception out of handler thread %s: %s" % (self.name, str(e))) - logger.debug(traceback.format_exc()) + logger.critical("ThreadRepeater: Got exception out of handler thread %s:\n%s" % (self.name, traceback.format_exc())) time.sleep(self._sleep_time) def stop(self):