Форум сайта python.su
0
У меня есть такой log API для своего проекта:
import aiofiles
import datetime
from pathlib import Path
class LogManager():
def __init__(self):
current_dir = Path(__file__).resolve().parent
now = datetime.datetime.now()
file_string = now.strftime("%Y-%m-%d %H-%M-%S") + ".log"
log_file_path = current_dir.parent / 'logs' / file_string
self.path = log_file_path
async def create_new_log_file(self):
"""
Создаёт новый файл с логами.\n
ОБЯЗАТЕЛЬНО НУЖНО ВЫЗЫВАТЬ ПРИ КАЖДОМ ЗАПУСКЕ FASTAPI ЕНДПОИНТА!!!
"""
self.f = await aiofiles.open(str(self.path), mode="a")
message = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " [INFO] " + "Login Service успешно запущен!" + "\n"
await self.f.write(message)
async def write_info(self, info_text: str):
"""
Записывает информационные сообщения в логи
"""
message = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " [INFO] " + info_text + "\n"
await self.f.write(message)
async def write_error(self,error_text: str):
"""
Записывает сообщения об ошибках в логи
"""
message = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " [ERROR] ", error_text + "\n"
await self.f.write(message)
async def close(self):
"""
Прекращает логирование.\n
ОБЯЗАТЕЛЬНО ДОБАВЛЯТЬ В КОНЕЦ
"""
await self.f.write(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " [INFO] " + "Остановка Login Service" + "\n")
await self.f.close()
Офлайн