35 lines
1.1 KiB
Python
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()
|