From 79260d3b86a45864c13294d5702320b4ee1f7df4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A2=A8=E6=A2=93=E6=9F=92?= <1787882683@qq.com>
Date: Wed, 23 Apr 2025 23:16:20 +0800
Subject: [PATCH 1/4] =?UTF-8?q?refactor(logger):=20=E7=BB=9F=E4=B8=80?=
=?UTF-8?q?=E6=97=A5=E5=BF=97=E9=85=8D=E7=BD=AE=E5=B9=B6=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=89=B9=E5=AE=9A=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
为远程、表情、主程序、后台任务等模块添加了特定的日志样式配置,并统一了日志初始化方式,以提高日志的可读性和一致性。
---
bot.py | 9 +++--
src/common/logger.py | 53 ++++++++++++++++++++++++++++++
src/heart_flow/background_tasks.py | 9 +++--
src/plugins/chat/emoji_manager.py | 9 +++--
src/plugins/remote/remote.py | 9 +++--
5 files changed, 81 insertions(+), 8 deletions(-)
diff --git a/bot.py b/bot.py
index 53dbc9be1..d530f03c3 100644
--- a/bot.py
+++ b/bot.py
@@ -8,11 +8,16 @@ import time
import platform
import traceback
from dotenv import load_dotenv
-from src.common.logger import get_module_logger, LogConfig, CONFIRM_STYLE_CONFIG
+from src.common.logger import get_module_logger, LogConfig, CONFIRM_STYLE_CONFIG, MAIN_STYLE_CONFIG
from src.common.crash_logger import install_crash_handler
from src.main import MainSystem
-logger = get_module_logger("main_bot")
+
+main_log_config = LogConfig(
+ console_format=MAIN_STYLE_CONFIG["console_format"],
+ file_format=MAIN_STYLE_CONFIG["file_format"],
+)
+logger = get_module_logger("main_bot", config=main_log_config)
confirm_logger_config = LogConfig(
console_format=CONFIRM_STYLE_CONFIG["console_format"],
file_format=CONFIRM_STYLE_CONFIG["file_format"],
diff --git a/src/common/logger.py b/src/common/logger.py
index 48d476e6d..9e8bac520 100644
--- a/src/common/logger.py
+++ b/src/common/logger.py
@@ -297,6 +297,22 @@ CHAT_STYLE_CONFIG = {
},
}
+REMOTE_STYLE_CONFIG = {
+ "advanced": {
+ "console_format": (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "{level: <8} | "
+ "远程 | "
+ "{message}"
+ ),
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 远程 | {message}",
+ },
+ "simple": {
+ "console_format": "{time:MM-DD HH:mm} | 远程 | {message}",
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 远程 | {message}",
+ },
+}
+
SUB_HEARTFLOW_STYLE_CONFIG = {
"advanced": {
"console_format": (
@@ -315,6 +331,24 @@ SUB_HEARTFLOW_STYLE_CONFIG = {
},
}
+BACKGROUND_TASKS_STYLE_CONFIG = {
+ "advanced": {
+ "console_format": (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "{level: <8} | "
+ "后台任务 | "
+ "{message}"
+ ),
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 后台任务 | {message}",
+ },
+ "simple": {
+ "console_format": (
+ "{time:MM-DD HH:mm} | 后台任务 | {message}"
+ ), # noqa: E501
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 后台任务 | {message}",
+ },
+}
+
WILLING_STYLE_CONFIG = {
"advanced": {
"console_format": (
@@ -331,6 +365,22 @@ WILLING_STYLE_CONFIG = {
},
}
+EMOJI_STYLE_CONFIG = {
+ "advanced": {
+ "console_format": (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "{level: <8} | "
+ "表情 | "
+ "{message}"
+ ),
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 表情 | {message}",
+ },
+ "simple": {
+ "console_format": "{time:MM-DD HH:mm} | 表情 | {message} ", # noqa: E501
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 表情 | {message}",
+ },
+
+}
MAI_STATE_CONFIG = {
"advanced": {
@@ -393,6 +443,9 @@ CONFIRM_STYLE_CONFIG = {
# 根据SIMPLE_OUTPUT选择配置
MAIN_STYLE_CONFIG = MAIN_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MAIN_STYLE_CONFIG["advanced"]
+EMOJI_STYLE_CONFIG = EMOJI_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else EMOJI_STYLE_CONFIG["advanced"]
+REMOTE_STYLE_CONFIG = REMOTE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else REMOTE_STYLE_CONFIG["advanced"]
+BACKGROUND_TASKS_STYLE_CONFIG = BACKGROUND_TASKS_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else BACKGROUND_TASKS_STYLE_CONFIG["advanced"]
MEMORY_STYLE_CONFIG = MEMORY_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MEMORY_STYLE_CONFIG["advanced"]
TOPIC_STYLE_CONFIG = TOPIC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TOPIC_STYLE_CONFIG["advanced"]
SENDER_STYLE_CONFIG = SENDER_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else SENDER_STYLE_CONFIG["advanced"]
diff --git a/src/heart_flow/background_tasks.py b/src/heart_flow/background_tasks.py
index f4f747328..190a73005 100644
--- a/src/heart_flow/background_tasks.py
+++ b/src/heart_flow/background_tasks.py
@@ -2,14 +2,19 @@ import asyncio
import traceback
from typing import Optional, Coroutine, Callable, Any, List
-from src.common.logger import get_module_logger
+from src.common.logger import get_module_logger, LogConfig, BACKGROUND_TASKS_STYLE_CONFIG
# Need manager types for dependency injection
from src.heart_flow.mai_state_manager import MaiStateManager, MaiStateInfo
from src.heart_flow.subheartflow_manager import SubHeartflowManager
from src.heart_flow.interest_logger import InterestLogger
-logger = get_module_logger("background_tasks")
+background_tasks_log_config = LogConfig(
+ console_format=BACKGROUND_TASKS_STYLE_CONFIG["console_format"],
+ file_format=BACKGROUND_TASKS_STYLE_CONFIG["file_format"],
+)
+
+logger = get_module_logger("background_tasks", config=background_tasks_log_config)
class BackgroundTaskManager:
diff --git a/src/plugins/chat/emoji_manager.py b/src/plugins/chat/emoji_manager.py
index 6b09a5839..f7f507b76 100644
--- a/src/plugins/chat/emoji_manager.py
+++ b/src/plugins/chat/emoji_manager.py
@@ -14,9 +14,14 @@ from ...config.config import global_config
from ..chat.utils import get_embedding
from ..chat.utils_image import ImageManager, image_path_to_base64
from ..models.utils_model import LLMRequest
-from src.common.logger import get_module_logger
+from src.common.logger import get_module_logger, LogConfig, EMOJI_STYLE_CONFIG
-logger = get_module_logger("emoji")
+emoji_log_config = LogConfig(
+ console_format=EMOJI_STYLE_CONFIG["console_format"],
+ file_format=EMOJI_STYLE_CONFIG["file_format"],
+)
+
+logger = get_module_logger("emoji", config=emoji_log_config)
image_manager = ImageManager()
diff --git a/src/plugins/remote/remote.py b/src/plugins/remote/remote.py
index f96bc088e..1ba32ec98 100644
--- a/src/plugins/remote/remote.py
+++ b/src/plugins/remote/remote.py
@@ -5,10 +5,15 @@ import platform
import os
import json
import threading
-from src.common.logger import get_module_logger
+from src.common.logger import get_module_logger, LogConfig, REMOTE_STYLE_CONFIG
from src.config.config import global_config
-logger = get_module_logger("remote")
+
+remote_log_config = LogConfig(
+ console_format=REMOTE_STYLE_CONFIG["console_format"],
+ file_format=REMOTE_STYLE_CONFIG["file_format"],
+)
+logger = get_module_logger("remote", config=remote_log_config)
# UUID文件路径
UUID_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "client_uuid.json")
From 7281c13a127cbf1295fdb408f278e02608d4a8dc Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Wed, 23 Apr 2025 15:17:06 +0000
Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8=E6=A0=BC?=
=?UTF-8?q?=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/common/logger.py | 9 +++++----
src/heart_flow/background_tasks.py | 2 +-
src/plugins/chat/emoji_manager.py | 2 +-
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/common/logger.py b/src/common/logger.py
index 9e8bac520..5169b7b71 100644
--- a/src/common/logger.py
+++ b/src/common/logger.py
@@ -310,7 +310,7 @@ REMOTE_STYLE_CONFIG = {
"simple": {
"console_format": "{time:MM-DD HH:mm} | 远程 | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 远程 | {message}",
- },
+ },
}
SUB_HEARTFLOW_STYLE_CONFIG = {
@@ -338,7 +338,7 @@ BACKGROUND_TASKS_STYLE_CONFIG = {
"{level: <8} | "
"后台任务 | "
"{message}"
- ),
+ ),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 后台任务 | {message}",
},
"simple": {
@@ -379,7 +379,6 @@ EMOJI_STYLE_CONFIG = {
"console_format": "{time:MM-DD HH:mm} | 表情 | {message} ", # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 表情 | {message}",
},
-
}
MAI_STATE_CONFIG = {
@@ -445,7 +444,9 @@ CONFIRM_STYLE_CONFIG = {
MAIN_STYLE_CONFIG = MAIN_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MAIN_STYLE_CONFIG["advanced"]
EMOJI_STYLE_CONFIG = EMOJI_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else EMOJI_STYLE_CONFIG["advanced"]
REMOTE_STYLE_CONFIG = REMOTE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else REMOTE_STYLE_CONFIG["advanced"]
-BACKGROUND_TASKS_STYLE_CONFIG = BACKGROUND_TASKS_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else BACKGROUND_TASKS_STYLE_CONFIG["advanced"]
+BACKGROUND_TASKS_STYLE_CONFIG = (
+ BACKGROUND_TASKS_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else BACKGROUND_TASKS_STYLE_CONFIG["advanced"]
+)
MEMORY_STYLE_CONFIG = MEMORY_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MEMORY_STYLE_CONFIG["advanced"]
TOPIC_STYLE_CONFIG = TOPIC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TOPIC_STYLE_CONFIG["advanced"]
SENDER_STYLE_CONFIG = SENDER_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else SENDER_STYLE_CONFIG["advanced"]
diff --git a/src/heart_flow/background_tasks.py b/src/heart_flow/background_tasks.py
index 190a73005..c24054bd8 100644
--- a/src/heart_flow/background_tasks.py
+++ b/src/heart_flow/background_tasks.py
@@ -11,7 +11,7 @@ from src.heart_flow.interest_logger import InterestLogger
background_tasks_log_config = LogConfig(
console_format=BACKGROUND_TASKS_STYLE_CONFIG["console_format"],
- file_format=BACKGROUND_TASKS_STYLE_CONFIG["file_format"],
+ file_format=BACKGROUND_TASKS_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("background_tasks", config=background_tasks_log_config)
diff --git a/src/plugins/chat/emoji_manager.py b/src/plugins/chat/emoji_manager.py
index f7f507b76..cbc8e600a 100644
--- a/src/plugins/chat/emoji_manager.py
+++ b/src/plugins/chat/emoji_manager.py
@@ -18,7 +18,7 @@ from src.common.logger import get_module_logger, LogConfig, EMOJI_STYLE_CONFIG
emoji_log_config = LogConfig(
console_format=EMOJI_STYLE_CONFIG["console_format"],
- file_format=EMOJI_STYLE_CONFIG["file_format"],
+ file_format=EMOJI_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("emoji", config=emoji_log_config)
From 6da2a77b785936bbf53d379dd6c2a2eb690e7a9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A2=A8=E6=A2=93=E6=9F=92?= <1787882683@qq.com>
Date: Wed, 23 Apr 2025 23:24:08 +0800
Subject: [PATCH 3/4] =?UTF-8?q?refactor(logger):=20=E4=B8=BAbase=5Ftool?=
=?UTF-8?q?=E5=92=8Cperson=5Finfo=E6=A8=A1=E5=9D=97=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=97=A5=E5=BF=97=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
为base_tool和person_info模块引入自定义日志配置,提升日志输出的可读性和一致性。分别在logger.py中新增BASE_TOOL_STYLE_CONFIG和PERSON_INFO_STYLE_CONFIG配置,并在相应模块中应用这些配置。
---
src/common/logger.py | 38 ++++++++++++++++++++++++++
src/do_tool/tool_can_use/base_tool.py | 9 ++++--
src/plugins/person_info/person_info.py | 9 ++++--
3 files changed, 52 insertions(+), 4 deletions(-)
diff --git a/src/common/logger.py b/src/common/logger.py
index 5169b7b71..652d95d83 100644
--- a/src/common/logger.py
+++ b/src/common/logger.py
@@ -331,6 +331,42 @@ SUB_HEARTFLOW_STYLE_CONFIG = {
},
}
+BASE_TOOL_STYLE_CONFIG = {
+ "advanced": {
+ "console_format": (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "{level: <8} | "
+ "工具使用 | "
+ "{message}"
+ ),
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 工具使用 | {message}",
+ },
+ "simple": {
+ "console_format": (
+ "{time:MM-DD HH:mm} | 工具使用 | {message}"
+ ), # noqa: E501
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 工具使用 | {message}",
+ },
+}
+
+PERSON_INFO_STYLE_CONFIG = {
+ "advanced": {
+ "console_format": (
+ "{time:YYYY-MM-DD HH:mm:ss} | "
+ "{level: <8} | "
+ "人物信息 | "
+ "{message}"
+ ),
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 人物信息 | {message}",
+ },
+ "simple": {
+ "console_format": (
+ "{time:MM-DD HH:mm} | 人物信息 | {message}"
+ ), # noqa: E501
+ "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 人物信息 | {message}",
+ },
+}
+
BACKGROUND_TASKS_STYLE_CONFIG = {
"advanced": {
"console_format": (
@@ -444,6 +480,8 @@ CONFIRM_STYLE_CONFIG = {
MAIN_STYLE_CONFIG = MAIN_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MAIN_STYLE_CONFIG["advanced"]
EMOJI_STYLE_CONFIG = EMOJI_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else EMOJI_STYLE_CONFIG["advanced"]
REMOTE_STYLE_CONFIG = REMOTE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else REMOTE_STYLE_CONFIG["advanced"]
+BASE_TOOL_STYLE_CONFIG = BASE_TOOL_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else BASE_TOOL_STYLE_CONFIG["advanced"]
+PERSON_INFO_STYLE_CONFIG = PERSON_INFO_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PERSON_INFO_STYLE_CONFIG["advanced"]
BACKGROUND_TASKS_STYLE_CONFIG = (
BACKGROUND_TASKS_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else BACKGROUND_TASKS_STYLE_CONFIG["advanced"]
)
diff --git a/src/do_tool/tool_can_use/base_tool.py b/src/do_tool/tool_can_use/base_tool.py
index b1edf8055..df3322620 100644
--- a/src/do_tool/tool_can_use/base_tool.py
+++ b/src/do_tool/tool_can_use/base_tool.py
@@ -3,9 +3,14 @@ import inspect
import importlib
import pkgutil
import os
-from src.common.logger import get_module_logger
+from src.common.logger import get_module_logger, LogConfig, BASE_TOOL_STYLE_CONFIG
-logger = get_module_logger("base_tool")
+base_tool_log_config = LogConfig(
+ console_format=BASE_TOOL_STYLE_CONFIG["console_format"],
+ file_format=BASE_TOOL_STYLE_CONFIG["file_format"],
+)
+
+logger = get_module_logger("base_tool", config=base_tool_log_config)
# 工具注册表
TOOL_REGISTRY = {}
diff --git a/src/plugins/person_info/person_info.py b/src/plugins/person_info/person_info.py
index fc9b47c0a..e4f4004e8 100644
--- a/src/plugins/person_info/person_info.py
+++ b/src/plugins/person_info/person_info.py
@@ -1,4 +1,4 @@
-from src.common.logger import get_module_logger
+from src.common.logger import get_module_logger, LogConfig, PERSON_INFO_STYLE_CONFIG
from ...common.database import db
import copy
import hashlib
@@ -33,7 +33,12 @@ PersonInfoManager 类方法功能摘要:
9. personal_habit_deduction - 定时推断个人习惯
"""
-logger = get_module_logger("person_info")
+person_info_log_config = LogConfig(
+ console_format=PERSON_INFO_STYLE_CONFIG["console_format"],
+ file_format=PERSON_INFO_STYLE_CONFIG["file_format"],
+)
+
+logger = get_module_logger("person_info", config=person_info_log_config)
person_info_default = {
"person_id": None,
From 95210e8b2598e9490a8cf1fbee047565b4626669 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Wed, 23 Apr 2025 15:24:27 +0000
Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8=E6=A0=BC?=
=?UTF-8?q?=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/common/logger.py | 4 ++--
src/do_tool/tool_can_use/base_tool.py | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/common/logger.py b/src/common/logger.py
index 652d95d83..67a38594f 100644
--- a/src/common/logger.py
+++ b/src/common/logger.py
@@ -346,7 +346,7 @@ BASE_TOOL_STYLE_CONFIG = {
"{time:MM-DD HH:mm} | 工具使用 | {message}"
), # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 工具使用 | {message}",
- },
+ },
}
PERSON_INFO_STYLE_CONFIG = {
@@ -364,7 +364,7 @@ PERSON_INFO_STYLE_CONFIG = {
"{time:MM-DD HH:mm} | 人物信息 | {message}"
), # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 人物信息 | {message}",
- },
+ },
}
BACKGROUND_TASKS_STYLE_CONFIG = {
diff --git a/src/do_tool/tool_can_use/base_tool.py b/src/do_tool/tool_can_use/base_tool.py
index df3322620..7a89369fe 100644
--- a/src/do_tool/tool_can_use/base_tool.py
+++ b/src/do_tool/tool_can_use/base_tool.py
@@ -7,7 +7,7 @@ from src.common.logger import get_module_logger, LogConfig, BASE_TOOL_STYLE_CONF
base_tool_log_config = LogConfig(
console_format=BASE_TOOL_STYLE_CONFIG["console_format"],
- file_format=BASE_TOOL_STYLE_CONFIG["file_format"],
+ file_format=BASE_TOOL_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("base_tool", config=base_tool_log_config)