Abigail99216's picture
Upload folder using huggingface_hub
f43af3c verified
import logging
import sys
import typing
from easy_tpp.utils.const import LogConst
# -------- log setting ---------
DEFAULT_LOGGER = "easytpp.logger"
class CustomFormatter(logging.Formatter):
grey = "\x1b[38;20m"
yellow = "\x1b[33;20m"
red = "\x1b[31;20m"
bold_red = "\x1b[31;1m"
reset = "\x1b[0m"
format = LogConst.DEFAULT_FORMAT_LONG
FORMATS = {
logging.DEBUG: grey + format + reset,
logging.INFO: grey + format + reset,
logging.WARNING: yellow + format + reset,
logging.ERROR: red + format + reset,
logging.CRITICAL: bold_red + format + reset
}
def format(self, record):
log_fmt = self.FORMATS.get(record.levelno)
formatter = logging.Formatter(log_fmt)
return formatter.format(record)
DEFAULT_FORMATTER = CustomFormatter()
_ch = logging.StreamHandler(stream=sys.stdout)
_ch.setFormatter(DEFAULT_FORMATTER)
_DEFAULT_HANDLERS = [_ch]
_LOGGER_CACHE = {} # type: typing.Dict[str, logging.Logger]
def get_logger(name, level="INFO", handlers=None, update=False):
if name in _LOGGER_CACHE and not update:
return _LOGGER_CACHE[name]
logger = logging.getLogger(name)
logger.setLevel(level)
logger.handlers = handlers or _DEFAULT_HANDLERS
logger.propagate = False
return logger
# -------------------------- Singleton Object --------------------------
default_logger = get_logger(DEFAULT_LOGGER)