fix: logger工厂支持环境变量配置日志级别(CR意见)
This commit is contained in:
@@ -1,8 +1,12 @@
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
from typing import Dict, Optional, Union, List
|
from typing import Dict, Optional, Union, List
|
||||||
import sys
|
import sys
|
||||||
|
import os
|
||||||
from types import ModuleType
|
from types import ModuleType
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
# 保存原生处理器ID
|
# 保存原生处理器ID
|
||||||
default_handler_id = None
|
default_handler_id = None
|
||||||
@@ -110,7 +114,7 @@ def get_module_logger(
|
|||||||
# 控制台处理器
|
# 控制台处理器
|
||||||
console_id = logger.add(
|
console_id = logger.add(
|
||||||
sink=sys.stderr,
|
sink=sys.stderr,
|
||||||
level=console_level or current_config["console_level"],
|
level=os.getenv("CONSOLE_LOG_LEVEL", console_level or current_config["console_level"]),
|
||||||
format=current_config["console_format"],
|
format=current_config["console_format"],
|
||||||
filter=lambda record: record["extra"].get("module") == module_name,
|
filter=lambda record: record["extra"].get("module") == module_name,
|
||||||
enqueue=True,
|
enqueue=True,
|
||||||
@@ -125,7 +129,7 @@ def get_module_logger(
|
|||||||
|
|
||||||
file_id = logger.add(
|
file_id = logger.add(
|
||||||
sink=str(log_file),
|
sink=str(log_file),
|
||||||
level=file_level or current_config["file_level"],
|
level=os.getenv("FILE_LOG_LEVEL", file_level or current_config["file_level"]),
|
||||||
format=current_config["file_format"],
|
format=current_config["file_format"],
|
||||||
rotation=current_config["rotation"],
|
rotation=current_config["rotation"],
|
||||||
retention=current_config["retention"],
|
retention=current_config["retention"],
|
||||||
@@ -159,7 +163,7 @@ def remove_module_logger(module_name: str) -> None:
|
|||||||
# 添加全局默认处理器(只处理未注册模块的日志--->控制台)
|
# 添加全局默认处理器(只处理未注册模块的日志--->控制台)
|
||||||
DEFAULT_GLOBAL_HANDLER = logger.add(
|
DEFAULT_GLOBAL_HANDLER = logger.add(
|
||||||
sink=sys.stderr,
|
sink=sys.stderr,
|
||||||
level="SUCCESS",
|
level=os.getenv("DEFAULT_CONSOLE_LOG_LEVEL", "SUCCESS"),
|
||||||
format=(
|
format=(
|
||||||
"<green>{time:YYYY-MM-DD HH:mm:ss}</green> | "
|
"<green>{time:YYYY-MM-DD HH:mm:ss}</green> | "
|
||||||
"<level>{level: <8}</level> | "
|
"<level>{level: <8}</level> | "
|
||||||
@@ -178,7 +182,7 @@ other_log_dir.mkdir(parents=True, exist_ok=True)
|
|||||||
|
|
||||||
DEFAULT_FILE_HANDLER = logger.add(
|
DEFAULT_FILE_HANDLER = logger.add(
|
||||||
sink=str(other_log_dir / f"{{time:YYYY-MM-DD}}.log"),
|
sink=str(other_log_dir / f"{{time:YYYY-MM-DD}}.log"),
|
||||||
level="DEBUG",
|
level=os.getenv("DEFAULT_FILE_LOG_LEVEL", "DEBUG"),
|
||||||
format=(
|
format=(
|
||||||
"{time:YYYY-MM-DD HH:mm:ss} | "
|
"{time:YYYY-MM-DD HH:mm:ss} | "
|
||||||
"{level: <8} | "
|
"{level: <8} | "
|
||||||
|
|||||||
@@ -23,7 +23,13 @@ CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
|
|||||||
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/
|
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/
|
||||||
DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1
|
DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1
|
||||||
|
|
||||||
#定义你要用的api的key(需要去对应网站申请哦)
|
# 定义你要用的api的key(需要去对应网站申请哦)
|
||||||
DEEP_SEEK_KEY=
|
DEEP_SEEK_KEY=
|
||||||
CHAT_ANY_WHERE_KEY=
|
CHAT_ANY_WHERE_KEY=
|
||||||
SILICONFLOW_KEY=
|
SILICONFLOW_KEY=
|
||||||
|
|
||||||
|
# 定义日志相关配置
|
||||||
|
CONSOLE_LOG_LEVEL=INFO # 自定义日志的默认控制台输出日志级别
|
||||||
|
FILE_LOG_LEVEL=DEBUG # 自定义日志的默认文件输出日志级别
|
||||||
|
DEFAULT_CONSOLE_LOG_LEVEL=SUCCESS # 原生日志的控制台输出日志级别(nonebot就是这一类)
|
||||||
|
DEFAULT_FILE_LOG_LEVEL=DEBUG # 原生日志的默认文件输出日志级别(nonebot就是这一类)
|
||||||
Reference in New Issue
Block a user