jproman's picture
Refactor to use langchain
522e6c3
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):
message = message.strip()
print(message)
if config.logFile:
with open(config.logFile,"a") as fh:
fh.write(message + "\n")