From ce7c435e12fcf811c2d0146f2c9049407b70adbf Mon Sep 17 00:00:00 2001
From: AL76 <735756072@qq.com>
Date: Sat, 15 Mar 2025 17:17:38 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20logger=E5=B7=A5=E5=8E=82=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E6=97=A5=E5=BF=97=E7=BA=A7=E5=88=AB=EF=BC=88CR=E6=84=8F?=
=?UTF-8?q?=E8=A7=81=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/common/logger.py | 12 ++++++++----
template.env | 8 +++++++-
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/common/logger.py b/src/common/logger.py
index 201f3b1fb..c546b700b 100644
--- a/src/common/logger.py
+++ b/src/common/logger.py
@@ -1,8 +1,12 @@
from loguru import logger
from typing import Dict, Optional, Union, List
import sys
+import os
from types import ModuleType
from pathlib import Path
+from dotenv import load_dotenv
+
+load_dotenv()
# 保存原生处理器ID
default_handler_id = None
@@ -110,7 +114,7 @@ def get_module_logger(
# 控制台处理器
console_id = logger.add(
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"],
filter=lambda record: record["extra"].get("module") == module_name,
enqueue=True,
@@ -125,7 +129,7 @@ def get_module_logger(
file_id = logger.add(
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"],
rotation=current_config["rotation"],
retention=current_config["retention"],
@@ -159,7 +163,7 @@ def remove_module_logger(module_name: str) -> None:
# 添加全局默认处理器(只处理未注册模块的日志--->控制台)
DEFAULT_GLOBAL_HANDLER = logger.add(
sink=sys.stderr,
- level="SUCCESS",
+ level=os.getenv("DEFAULT_CONSOLE_LOG_LEVEL", "SUCCESS"),
format=(
"{time:YYYY-MM-DD HH:mm:ss} | "
"{level: <8} | "
@@ -178,7 +182,7 @@ other_log_dir.mkdir(parents=True, exist_ok=True)
DEFAULT_FILE_HANDLER = logger.add(
sink=str(other_log_dir / f"{{time:YYYY-MM-DD}}.log"),
- level="DEBUG",
+ level=os.getenv("DEFAULT_FILE_LOG_LEVEL", "DEBUG"),
format=(
"{time:YYYY-MM-DD HH:mm:ss} | "
"{level: <8} | "
diff --git a/template.env b/template.env
index 322776ce7..3d29025f4 100644
--- a/template.env
+++ b/template.env
@@ -23,7 +23,13 @@ CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/
DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1
-#定义你要用的api的key(需要去对应网站申请哦)
+# 定义你要用的api的key(需要去对应网站申请哦)
DEEP_SEEK_KEY=
CHAT_ANY_WHERE_KEY=
SILICONFLOW_KEY=
+
+# 定义日志相关配置
+CONSOLE_LOG_LEVEL=INFO # 自定义日志的默认控制台输出日志级别
+FILE_LOG_LEVEL=DEBUG # 自定义日志的默认文件输出日志级别
+DEFAULT_CONSOLE_LOG_LEVEL=SUCCESS # 原生日志的控制台输出日志级别(nonebot就是这一类)
+DEFAULT_FILE_LOG_LEVEL=DEBUG # 原生日志的默认文件输出日志级别(nonebot就是这一类)
\ No newline at end of file