46 lines
1.6 KiB
Python
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 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)
|