updated logging
This commit is contained in:
@ -4,6 +4,9 @@ MODULES_DIR = 'modules'
|
|||||||
# Название файла db sqlite
|
# Название файла db sqlite
|
||||||
DATABASE_NAME = 'users.db'
|
DATABASE_NAME = 'users.db'
|
||||||
|
|
||||||
|
# Название файла для логов
|
||||||
|
LOG_FILE_NAME = 'bot.log'
|
||||||
|
|
||||||
# Сообщения команд
|
# Сообщения команд
|
||||||
COMMAND_MESSAGES = {
|
COMMAND_MESSAGES = {
|
||||||
'start': 'Бот-модератор для чата @linux_gaming_ru',
|
'start': 'Бот-модератор для чата @linux_gaming_ru',
|
||||||
|
@ -2,6 +2,8 @@ import logging
|
|||||||
import time
|
import time
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
from config import LOG_FILE_NAME
|
||||||
|
|
||||||
class ColoredFormatter(logging.Formatter): # Цветные логи (для терминала)
|
class ColoredFormatter(logging.Formatter): # Цветные логи (для терминала)
|
||||||
LEVEL_COLORS = {
|
LEVEL_COLORS = {
|
||||||
logging.INFO: '\033[92m',
|
logging.INFO: '\033[92m',
|
||||||
@ -39,6 +41,13 @@ class UncoloredFormatter(logging.Formatter): # Бесцветные логи (д
|
|||||||
|
|
||||||
def setup_logging(): # Инициализирует систему логирования
|
def setup_logging(): # Инициализирует систему логирования
|
||||||
|
|
||||||
|
# Добавляем разделитель для нового сеанса
|
||||||
|
if os.path.exists(LOG_FILE_NAME):
|
||||||
|
with open(LOG_FILE_NAME, "a", encoding="utf-8") as f:
|
||||||
|
f.write("\n\n" + "=" * 60 + "\n")
|
||||||
|
f.write(f"{'ЗАПУЩЕН НОВЫЙ СЕАНС':^60}\n")
|
||||||
|
f.write("=" * 60 + "\n\n")
|
||||||
|
|
||||||
# Создаем корневой логгер
|
# Создаем корневой логгер
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
logger.setLevel(logging.INFO)
|
logger.setLevel(logging.INFO)
|
||||||
@ -49,7 +58,7 @@ def setup_logging(): # Инициализирует систему логиро
|
|||||||
console_handler.setFormatter(ColoredFormatter())
|
console_handler.setFormatter(ColoredFormatter())
|
||||||
|
|
||||||
# Сохраняем логи в файл
|
# Сохраняем логи в файл
|
||||||
file_handler = logging.FileHandler("bot.log", encoding='utf-8')
|
file_handler = logging.FileHandler(LOG_FILE_NAME, encoding='utf-8')
|
||||||
file_handler.setFormatter(UncoloredFormatter())
|
file_handler.setFormatter(UncoloredFormatter())
|
||||||
|
|
||||||
logger.addHandler(console_handler)
|
logger.addHandler(console_handler)
|
||||||
|
@ -68,9 +68,9 @@ async def load_modules(): # Загружает все модули из дире
|
|||||||
if hasattr(module, "register_handlers"):
|
if hasattr(module, "register_handlers"):
|
||||||
module.register_handlers(bot)
|
module.register_handlers(bot)
|
||||||
loaded_count += 1
|
loaded_count += 1
|
||||||
logger.info(f"Модуль {module_name} успешно загружен")
|
logger.info(f"Модуль {module_name} успешно загружен.")
|
||||||
else:
|
else:
|
||||||
logger.warning(f"Модуль {module_name} не содержит функцию register_handlers")
|
logger.warning(f"Модуль {module_name} не содержит функцию register_handlers.")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Ошибка при загрузке модуля {module_name}: {str(e)}")
|
logger.error(f"Ошибка при загрузке модуля {module_name}: {str(e)}")
|
||||||
logger.info(f"Загружено модулей: {loaded_count} шт. Бот запущен.")
|
logger.info(f"Загружено модулей: {loaded_count} шт. Бот запущен.")
|
||||||
|
Reference in New Issue
Block a user