Spaces:
Build error
Build error
| """ | |
| @Date: 2021/07/17 | |
| @description: | |
| """ | |
| import os | |
| import sys | |
| import logging | |
| import functools | |
| from termcolor import colored | |
| def build_logger(config): | |
| output_dir = config.LOGGER.DIR | |
| local_rank = config.LOCAL_RANK | |
| name = config.MODEL.NAME | |
| logger = get_logger(output_dir, local_rank, name) | |
| return logger | |
| def get_logger(output_dir=None, local_rank=None, name="PLTNet"): | |
| if output_dir and not os.path.exists(output_dir): | |
| os.makedirs(output_dir) | |
| # create logger | |
| logger = logging.getLogger(name) | |
| logger.setLevel(logging.DEBUG) | |
| logger.propagate = False | |
| # create formatter | |
| fmt = f'[%(asctime)s %(name)s][%(levelname)1.1s](%(filename)s %(lineno)d): %(message)s' | |
| color_fmt = colored(f'[%(asctime)s %(name)s][%(levelname)1.1s][{local_rank}]', 'green') + colored( | |
| f'(%(filename)s %(lineno)d)', | |
| 'yellow') + ': %(message)s' | |
| if local_rank in [0] or local_rank is None: | |
| console_handler = logging.StreamHandler(sys.stdout) | |
| console_handler.setLevel(logging.DEBUG) | |
| console_handler.setFormatter( | |
| logging.Formatter(fmt=color_fmt, datefmt='%Y-%m-%d %H:%M:%S')) | |
| logger.addHandler(console_handler) | |
| if output_dir is not None: | |
| # create file handlers | |
| file_handler = logging.FileHandler(os.path.join(output_dir, f'log_rank{local_rank}.log'), mode='a') | |
| file_handler.setLevel(logging.DEBUG) | |
| file_handler.setFormatter(logging.Formatter(fmt=fmt, datefmt='%Y-%m-%d %H:%M:%S')) | |
| logger.addHandler(file_handler) | |
| return logger | |