Spaces:
Running
on
Zero
Running
on
Zero
import logging | |
import time | |
import os | |
class Verbose: | |
mute = False | |
def print_log(s, logger=None, level='info'): | |
if Verbose.mute: | |
return None | |
if logger is None: | |
logger = logging.getLogger('trainer') | |
if level == 'info': | |
print_info(s) | |
logger.info(s) | |
elif level == 'warning': | |
print_warning(s) | |
logger.warning(s) | |
elif level == 'error': | |
print_error(s) | |
logger.error(s) | |
else: | |
raise NotImplementedError | |
def create_logger(log_dir, name='trainer'): | |
assert os.path.exists(log_dir), 'log_dir {} does not exist.' | |
logger = logging.getLogger(name) | |
file_path = log_dir / '{}.log'.format(name) | |
hdlr = logging.FileHandler(file_path) | |
formatter = logging.Formatter('[%(asctime)s] %(levelname)s: %(message)s') | |
hdlr.setFormatter(formatter) | |
logger.addHandler(hdlr) | |
logger.setLevel(logging.INFO) | |
return logger | |
class TerminalColors: | |
HEADER = '\033[95m' | |
OKBLUE = '\033[94m' | |
OKGREEN = '\033[92m' | |
WARNING = '\033[93m' | |
FAIL = '\033[91m' | |
ENDC = '\033[0m' | |
BOLD = '\033[1m' | |
UNDERLINE = '\033[4m' | |
def get_time(): | |
return time.strftime('%Y-%m-%d %H:%M:%S') | |
def print_info(s): | |
print(TerminalColors.OKBLUE + '[' + get_time() + '] ' + str(s) + TerminalColors.ENDC) | |
def print_warning(s): | |
print(TerminalColors.WARNING + '[' + get_time() + '] WARN ' + str(s) + TerminalColors.ENDC) | |
def print_error(s): | |
print(TerminalColors.FAIL + '[' + get_time() + '] ERROR ' + str(s) + TerminalColors.ENDC) | |