import logging
import sys

from config.settings import settings


class Logger:

    @staticmethod
    def get_logger(name="SmartAttendanceAI"):

        logger = logging.getLogger(name)

        if logger.handlers:
            return logger

        logger.setLevel(settings.LOG_LEVEL.upper())

        formatter = logging.Formatter(

            "[%(asctime)s] %(levelname)s | %(name)s | %(message)s",

            "%Y-%m-%d %H:%M:%S"

        )

        console_handler = logging.StreamHandler(sys.stdout)

        console_handler.setFormatter(formatter)

        logger.addHandler(console_handler)

        logger.propagate = False

        return logger


logger = Logger.get_logger()