diff --git a/BotLibrary/library/logger.py b/BotLibrary/library/logger.py
index e69a2a7..c5da90f 100644
--- a/BotLibrary/library/logger.py
+++ b/BotLibrary/library/logger.py
@@ -3,21 +3,56 @@
import sys
from loguru import logger
-from config import ImportantPath, LogsSet
-from ..analitics.message_to_file import write_message_to_file
-from ..analitics.user_data_to_file import write_user_info_to_file
+
+from BotLibrary.configs import ProjectPath
+from BotLibrary.analitics.message_to_file import write_message_to_file
+from BotLibrary.analitics.user_data_to_file import write_user_info_to_file
# Настройка экспорта модулей и логирования
__all__ = ("logger", "setup_logger", "cmd_logginger", "error_cmd_logginger",
"logginger", "common_msg_logginger", )
+# Класс для параметров логгера
+class LogsSet:
+ # Максимальный размер лог-файла
+ max_size = "500 MB"
+
+ # Шаблон логов для информации
+ info_text = (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "PRIMO-{extra[log_type]} | "
+ "{extra[user]} | {message}"
+ )
+
+ # Шаблон логов для ошибок
+ error_text = (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "ERROR-{extra[log_type]} | "
+ "{extra[user]} | {message}"
+ )
+
+ # Шаблон логов для отладки
+ debug_text = (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "DEBUG-{extra[log_type]} | "
+ "{extra[user]} | {message}"
+ )
+
+ # Шаблон логов для предупреждений
+ warning_text = (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "WARNING-{extra[log_type]} | "
+ "{extra[user]} | {message}"
+ )
+
+
# Создание обычного логгера + логгер в файл
async def setup_logger():
logger.remove() # Удаляем все логгеры
# Пустой логгер для записи отступов в файл уровня TRACE
- logger.add(ImportantPath.log_file,
+ logger.add(ProjectPath.log_file,
rotation=LogsSet.max_size,
format="\n\n\n",
backtrace=True,
@@ -32,7 +67,7 @@ async def setup_logger():
format=LogsSet.info_text,
level="INFO",
filter=lambda record: record["level"].name == "INFO")
- logger.add(ImportantPath.log_file,
+ logger.add(ProjectPath.log_file,
rotation=LogsSet.max_size,
format=LogsSet.info_text,
backtrace=True,
@@ -46,21 +81,19 @@ async def setup_logger():
format=LogsSet.error_text,
level="ERROR",
filter=lambda record: record["level"].name == "ERROR")
- logger.add(ImportantPath.log_error_file,
+ logger.add(ProjectPath.log_error_file,
rotation=LogsSet.max_size,
format=LogsSet.error_text,
backtrace=True,
diagnose=True,
level="ERROR",
filter=lambda record: record["level"].name == "ERROR")
- return f"Логгеры - подключены!"
# Запись сообщения в файл и информации о пользователи
async def logginger(message):
write_user_info_to_file(message.from_user)
await write_message_to_file(message)
- return f"Сообщение и информация о пользователи - успешно записаны!"
# Создание функции логирования на обычные сообщения
@@ -72,14 +105,12 @@ async def common_msg_logginger(message, name, message_type, log_type):
else:
logger.bind(log_type=log_type, user=f"@{message.from_user.username}").info(
f"Получено сообщение из ({name}) : {message.text}")
- return f"Логгер на обычный сообщения - успешно активирован"
# Специальный логгер для команд. Вывод в консоль, файл и запись информации о пользователи
async def cmd_logginger(message, log_type, text):
await logginger(message)
logger.bind(log_type=log_type, user=f"@{message.from_user.username}").info(text)
- return f"Логгер на команду - успешно активирован"
# Специальный логгер для ошибок с командами. Вывод в консоль, файл и запись информации о пользователи
@@ -87,4 +118,3 @@ async def error_cmd_logginger(message, log_type, e):
text_error = f"Ошибка при использовании команды /{log_type.lower()}: {str(e)}\n"
await logginger(message)
logger.bind(log_type=log_type, user=f"@{message.from_user.username}").error(text_error)
- return text_error