Spaces:
Sleeping
Sleeping
| import logging | |
| from logging import handlers | |
| class Logger(object): | |
| level_relations = { | |
| 'debug':logging.DEBUG, | |
| 'info':logging.INFO, | |
| 'warning':logging.WARNING, | |
| 'error':logging.ERROR, | |
| 'crit':logging.CRITICAL | |
| } | |
| def __init__(self, filename, rank, level='info', when='D', backCount=3, fmt='%(asctime)s - %(levelname)s: %(message)s'): | |
| self.logger = logging.getLogger(filename) | |
| if rank!=0: return | |
| format_str = logging.Formatter(fmt) | |
| self.logger.setLevel(self.level_relations.get(level)) | |
| sh = logging.StreamHandler() | |
| sh.setFormatter(format_str) | |
| th = handlers.TimedRotatingFileHandler(filename=filename,when=when,backupCount=backCount,encoding='utf-8') | |
| th.setFormatter(format_str) | |
| self.logger.addHandler(sh) | |
| self.logger.addHandler(th) | |
| def create_logger(filepath, rank): | |
| log = Logger(filepath, rank) | |
| return log.logger | |