import datetime import syslog #from warnings import warn class Logger: pre:str timestamp:bool message:str syslog:bool debug:bool def __init__(self, syslog:bool=False, debug:bool=False): self.syslog=syslog self.debug=debug def log(self,severity, loglevel, msg): if loglevel == "DEBUG": if self.debug: self.print_console(severity, loglevel, msg) else: self.print_console(severity, loglevel, msg) if self.syslog: self.print_syslog(severity, loglevel, msg) def print_console(self, severity, loglevel, msg): print(f"{loglevel}, {datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}, {msg}") def print_syslog(self, severity, loglevel, msg): syslog.syslog(severity, f"{loglevel}, {msg}") def info(self, msg): self.log(syslog.LOG_INFO,"INFO",msg) def warn(self, msg): self.log(syslog.LOG_WARNING,"WARNING",msg) def error(self, msg): self.log(syslog.LOG_ERR,"ERROR",msg) def _debug(self, msg): if self.debug: self.log(syslog.LOG_DEBUG,"DEBUG",msg)