"""
Модуль налаштувань логера.
"""
from loguru import logger
import sys
# Форматування повідомлень
log_format = (
# "<green>{time:DD.MM.YYYY HH:mm:ss}</green> | "
"<level>{level}</level> | "
"<level>{message}</level>"
)
"""Формат повідомлення логера"""
# Налаштування логера
logger.remove()
logger.add(
sys.stdout,
format=log_format,
level="DEBUG",
colorize=True
)
logger.add(
"logs/logfile.log",
format=log_format,
level="DEBUG",
rotation="1 MB",
compression="zip"
)
# Встановлення кольорів для рівнів логування
logger.level("SUCCESS", color="<green>")
logger.level("ERROR", color="<red>")
logger.level("DEBUG", color="<yellow>")
# Логування у разі крашу програми
[docs]def log_exception(exc_type, exc_value, exc_traceback):
"""
Функція перехоплення та логування помилки в разі неочікуваного завершення виконання програми.
:param exc_type:
:param exc_value:
:param exc_traceback:
:return:
"""
logger.error(f"{exc_type.__name__} - {exc_value}",
exc_info=(exc_type, exc_value, exc_traceback))
# Налаштування покращеного відображення Traceback
sys.excepthook = log_exception