import utime def asyncLog(name, level, *message, timeout=None, await_connection=True): ''' pass # # yield config.getMQTT().publish(base_topic.format(level), message, qos=1, timeout=timeout, # await_connection=await_connection) ''' pass def log(name, level, *message, local_only=False, return_only=False, timeout=None): if hasattr(utime, "strftime"): print("[{}]".format(utime.strftime("%Y-%m-%d %H:%M:%S")), "[{}]".format(name), "[{}]".format(level), *message) else: t = utime.localtime() print("[{}-{:02d}-{:02d} {:02d}:{:02d}:{:02d}]".format(*t), "[{}]".format(name), "[{}]".format(level), *message) if return_only: return if not local_only: pass class Logger: def __init__(self, name): self.name = name def critical(self, *message, local_only=True): log(self.name, "critical", *message, local_only=local_only, timeout=None) def error(self, *message, local_only=True): log(self.name, "error", *message, local_only=local_only, timeout=None) def warn(self, *message, local_only=True): log(self.name, "warn", *message, local_only=local_only, timeout=None) def info(self, *message, local_only=True): log(self.name, "info", *message, local_only=local_only, timeout=20) def debug(self, *message, local_only=True): log(self.name, "debug", *message, local_only=local_only, timeout=5) def asyncLog(self, level, *message, timeout=True): log(self.name, level, *message, return_only=True) if timeout == 0: return asyncLog(self.name, level, *message, timeout=timeout) def getLogger(name): return Logger(name)