|
|
|
from datetime import datetime |
|
|
|
import config |
|
|
|
|
|
class Logger: |
|
def __init__(self, logLevelName, logFile): |
|
self.logLevels = {'DEBUG': 10, 'INFO': 20, 'ERROR': 30, 'CRITICAL': 40} |
|
self.logLevel = self.logLevels[logLevelName] |
|
self.logFile = logFile |
|
|
|
def debug(self, message): |
|
if self.logLevel >= self.logLevels['DEBUG']: |
|
self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} DEBUG {message}") |
|
|
|
def info(self, message): |
|
if self.logLevel >= self.logLevels['INFO']: |
|
self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} INFO {message}") |
|
|
|
def error(self, message): |
|
if self.logLevel >= self.logLevels['ERROR']: |
|
self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} ERROR {message}") |
|
|
|
def critical(self, message): |
|
if self.logLevel >= self.logLevels['CRITICAL']: |
|
self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} ** CRITICAL ** {message}") |
|
|
|
def __log(self, message): |
|
print(message) |
|
if config.logFile: |
|
with open(config.logFile,"a") as fh: |
|
fh.write(message + "\n") |
|
|