Files
Assemblr-Backend/logger.py
2023-10-27 06:04:15 +03:00

35 lines
1.1 KiB
Python

from logging.handlers import RotatingFileHandler
from singleton import Singleton
import logging
import constants
class Logger(metaclass=Singleton):
def __init__(self):
self.logger = logging.getLogger(constants.LOGGER_NAME)
self.logger.setLevel(logging.DEBUG)
file_handler = RotatingFileHandler(constants.LOG_FILE,
maxBytes=constants.MAX_LOG_FILE_SIZE_BYTES,
encoding='UTF-8',
backupCount=1)
file_handler.setLevel(logging.DEBUG)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
formatter = logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%m-%d %H:%M')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
self.logger.addHandler(file_handler)
self.logger.addHandler(console_handler)
def get_logger(self):
return self.logger
logger_instance = Logger().get_logger()