Source code for salbpone.logger_setup

"""
Модуль налаштувань логера.
"""
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