# -*- coding: utf-8 -*- import sys from os import makedirs from os.path import join, exists from loguru import logger from util.RWUtils import getConfigs def S(*args, **kwargs): """ 将所有参数组合成字符串表示形式 """ # 将位置参数转换为字符串 args_str = [str(arg) for arg in args] # 将关键字参数转换为字符串,格式为 key=value kwargs_str = [f"{key}={value}" for key, value in kwargs.items()] # 合并所有参数并用逗号连接成一个字符串 all_args = args_str + kwargs_str return " ".join(all_args) # 初始化日志配置 def init_log(base_dir, env): log_config = getConfigs(join(base_dir, './appIOs/conf/logger/%s_logger.yml' % env)) # 判断日志文件是否存在,不存在创建 base_path = join(base_dir, log_config.get("base_path")) if not exists(base_path): makedirs(base_path) # 移除日志设置 logger.remove(handler_id=None) # 打印日志到文件 if bool(log_config.get("enable_file_log")): logger.add(join(base_path, log_config.get("log_name")), rotation=log_config.get("rotation"), retention=log_config.get("retention"), format=log_config.get("log_fmt"), level=log_config.get("level"), enqueue=True, encoding=log_config.get("encoding")) # 控制台输出 if bool(log_config.get("enable_stderr")): logger.add(sys.stderr, format=log_config.get("log_fmt"), level=log_config.get("level"), enqueue=True)