# -*- coding: utf-8 -*- import sys from os import makedirs from os.path import join, exists from loguru import logger from json import loads from ruamel.yaml import safe_load def getConfigs(path, read_type='yml'): with open(path, 'r', encoding="utf-8") as f: if read_type == 'json': return loads(f.read()) if read_type == 'yml': return safe_load(f) raise Exception('路径: %s未获取配置信息' % path) def readFile(file, ty="rb"): with open(file, ty) as f: return f.read() # 初始化日志配置 def init_log(base_dir, env): log_config = getConfigs(join(base_dir, './DrGraph/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)