AIlib2/DrGraph/util/LogUtils copy.py

46 lines
1.6 KiB
Python

# -*- 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)