diff --git a/services/db.py b/services/db.py index 550820c7..dd2ea67d 100644 --- a/services/db.py +++ b/services/db.py @@ -1,4 +1,3 @@ -import logging import math import time from functools import wraps @@ -10,13 +9,10 @@ from sqlalchemy.engine import Engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import Session from sqlalchemy.sql.schema import Table - +from services.logger import get_colorful_logger from settings import DB_URL -# Настройка журнала -logging.basicConfig(level=logging.DEBUG) -logger = logging.getLogger('[services.db]') -logger.setLevel(logging.DEBUG) +logger = get_colorful_logger('[services.db]') # Создание региона кэша с TTL 300 секунд cache_region = make_region().configure( diff --git a/services/logger.py b/services/logger.py new file mode 100644 index 00000000..04016331 --- /dev/null +++ b/services/logger.py @@ -0,0 +1,28 @@ +import logging +import colorlog + +def get_colorful_logger(name): + # Создаем объект форматирования для цветовой разметки + formatter = colorlog.ColoredFormatter( + "%(log_color)s%(levelname)-8s%(reset)s %(yellow)s[%(name)s]%(reset)s %(white)s%(message)s", + log_colors={ + 'DEBUG': 'cyan', + 'INFO': 'green', + 'WARNING': 'yellow', + 'ERROR': 'red', + 'CRITICAL': 'red,bg_white', + }, + secondary_log_colors={}, + style='%' + ) + + # Создаем поток вывода для записи журнала + stream = logging.StreamHandler() + stream.setFormatter(formatter) + + # Создаем логгер + logger = logging.getLogger(name) + logger.setLevel(logging.DEBUG) + logger.addHandler(stream) + + return logger