Spaces:
Paused
Paused
# Copyright (c) 2024 Amphion. | |
# | |
# This source code is licensed under the MIT license found in the | |
# LICENSE file in the root directory of this source tree. | |
import logging | |
import time | |
import os | |
def init_logger(name): | |
logger = logging.getLogger(name) | |
logger.setLevel(logging.DEBUG) | |
# Add file handler to save logs to a file | |
log_date = time.strftime("%Y-%m-%d", time.localtime()) | |
log_time = time.strftime("%H-%M-%S", time.localtime()) | |
os.makedirs(f"logs/{log_date}", exist_ok=True) | |
formatter = logging.Formatter( | |
"%(asctime)s - %(name)s - %(levelname)s - %(message)s" | |
) | |
fh = logging.FileHandler(f"logs/{log_date}/{log_time}.log") | |
fh.setFormatter(formatter) | |
logger.addHandler(fh) | |
class ColorFormatter(logging.Formatter): | |
def format(self, record): | |
if record.levelno >= logging.ERROR: | |
record.msg = "\033[1;31m" + str(record.msg) + "\033[0m" | |
elif record.levelno >= logging.WARNING: | |
record.msg = "\033[1;33m" + str(record.msg) + "\033[0m" | |
elif record.levelno >= logging.INFO: | |
record.msg = "\033[1;34m" + str(record.msg) + "\033[0m" | |
elif record.levelno >= logging.DEBUG: | |
record.msg = "\033[1;32m" + str(record.msg) + "\033[0m" | |
return super().format(record) | |
color_formatter = ColorFormatter( | |
"%(asctime)s - %(name)s - %(levelname)s - %(message)s" | |
) | |
ch = logging.StreamHandler() | |
ch.setFormatter(color_formatter) | |
logger.addHandler(ch) | |
return logger | |