#-*-coding utf-8-*- # Общественное достояние 2023, Алексей Безбородов (Alexei Bezborodov) # --------------------------------------------------------- # Логирование событий в файл # Четыре типа уведомлений: # Info - Информация. # Warn - Предупреждение. # Error - Ошибка. # Success - Успех. from bot_sys import config import colorama import datetime colorama.init() class Log: def __init__(self, a_FileName): self.m_FileName = a_FileName def GetFileName(self): return self.m_FileName def GetTimeNow(self): return datetime.datetime.now() def GetTime(self): now = self.GetTimeNow() time = now.strftime(f"[%d.%m.%Y, %H:%M]") return time def Info(self, a_LogMessage): time = self.GetTime() self.WriteToFile(f'{time} | {a_LogMessage}') print(f"{time} {colorama.Back.BLUE}{colorama.Style.BRIGHT} ИНФО {colorama.Style.RESET_ALL} | {a_LogMessage}") def Warn(self, a_LogMessage): time = self.GetTime() self.WriteToFile(f'{time} | {a_LogMessage}') print(f"{time} {colorama.Back.YELLOW}{colorama.Style.BRIGHT} ВНИМАНИЕ {colorama.Style.RESET_ALL} | {a_LogMessage}") def Error(self, a_LogMessage): time = self.GetTime() self.WriteToFile(f'{time} | {a_LogMessage}') print(f"{time} {colorama.Back.RED}{colorama.Style.BRIGHT} ОШИБКА {colorama.Style.RESET_ALL} | {a_LogMessage}") def Success(self, a_LogMessage): time = self.GetTime() self.WriteToFile(f'{time} | {a_LogMessage}') print(f"{time} {colorama.Back.GREEN}{colorama.Style.BRIGHT} УСПЕХ {colorama.Style.RESET_ALL} | {a_LogMessage}") def WriteToFile(self, a_LogMessage): if not self.m_FileName: return f = open(self.m_FileName, 'a+') f.write(a_LogMessage) f.write('\n') f.close()