ddns-pdns-updater/Logger.py
2025-07-15 14:25:10 +02:00

39 lines
1.1 KiB
Python

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)