Logger

import os
import logging

def get_logger(out_dir):
    logger = logging.getLogger('Exp')
    logger.setLevel(logging.INFO)  # 设置只记录INFO级别以上的日志
    formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")  # 定义日志的格式, 包含时间戳, 日志级别和日志内容

    file_path = os.path.join(out_dir, "run.log")  # 设置日志文件的路径
    file_hdlr = logging.FileHandler(file_path)  # 创建一个文件处理器, 用于将日志输出到文件
    file_hdlr.setFormatter(formatter)  # 设置文件处理器的日志格式

    strm_hdlr = logging.StreamHandler(sys.stdout)  # 创建一个流处理器, 用于将日志输出到控制台
    strm_hdlr.setFormatter(formatter)  # 设置流处理器的日志格式

    logger.addHandler(file_hdlr)  # 将文件处理器添加到日志器
    logger.addHandler(strm_hdlr)  # 将流处理器添加到日志器
    return logger

评论