CoolFace
Apppublic

zhiyinya/AIStudioBuildWS

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
logger.py42 linesDownload Raw Back to utils
1import logging2 3def setup_logging(log_file, prefix=None, level=logging.INFO):4    """5    配置日志记录器,使其输出到文件和控制台。6    支持一个可选的前缀,用于标识日志来源。7 8    每次调用都会重新配置处理器,以适应多进程环境。9 10    :param log_file: 日志文件的路径。11    :param prefix: (可选) 要添加到每条日志消息开头的字符串前缀。12    :param level: 日志级别。13    """14    logger = logging.getLogger('my_app_logger') 15    logger.setLevel(level)16 17    if logger.hasHandlers():18        logger.handlers.clear()19 20    base_format = '%(asctime)s - %(process)d - %(levelname)s - %(message)s'21 22    if prefix:23        log_format = f'%(asctime)s - %(process)d - %(levelname)s - {prefix} - %(message)s'24    else:25        log_format = base_format26 27    fh = logging.FileHandler(log_file)28    fh.setLevel(level)29 30    ch = logging.StreamHandler()31    ch.setLevel(level)32 33    formatter = logging.Formatter(log_format)34    fh.setFormatter(formatter)35    ch.setFormatter(formatter)36 37    logger.addHandler(fh)38    logger.addHandler(ch)39    40    logger.propagate = False41    42    return logger