From c727929bcfe796dd984f015652b558550ebc72ad 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:04:30 +0800
Subject: [PATCH] =?UTF-8?q?refactor(logger):=20=E4=BC=98=E5=8C=96=E6=97=A5?=
=?UTF-8?q?=E5=BF=97=E9=85=8D=E7=BD=AE=E4=BB=A5=E5=A2=9E=E5=BC=BA=E5=8F=AF?=
=?UTF-8?q?=E8=AF=BB=E6=80=A7=E5=92=8C=E4=B8=80=E8=87=B4=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
重构日志模块,引入MAIN_STYLE_CONFIG和INTEREST_STYLE_CONFIG配置,统一日志格式。通过LogConfig类传递配置参数,确保日志输出在不同模块中保持一致性和可读性。
---
src/common/logger.py | 39 +++++++++++++++++++++++++++++++
src/heart_flow/interest_logger.py | 8 +++++--
src/main.py | 8 +++++--
3 files changed, 51 insertions(+), 4 deletions(-)
diff --git a/src/common/logger.py b/src/common/logger.py
index e139cc022..7818ae155 100644
--- a/src/common/logger.py
+++ b/src/common/logger.py
@@ -70,6 +70,24 @@ else:
}
+MAIN_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}",
+ },
+}
+
# 海马体日志样式配置
MEMORY_STYLE_CONFIG = {
"advanced": {
@@ -364,12 +382,32 @@ LPMM_STYLE_CONFIG = {
},
}
+# 兴趣log
+INTEREST_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}",
+ },
+}
+
CONFIRM_STYLE_CONFIG = {
"console_format": "{message}", # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | EULA与PRIVACY确认 | {message}",
}
# 根据SIMPLE_OUTPUT选择配置
+MAIN_STYLE_CONFIG = MAIN_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MAIN_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"]
@@ -388,6 +426,7 @@ CONFIG_STYLE_CONFIG = CONFIG_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else CONFIG
TOOL_USE_STYLE_CONFIG = TOOL_USE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TOOL_USE_STYLE_CONFIG["advanced"]
PFC_STYLE_CONFIG = PFC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PFC_STYLE_CONFIG["advanced"]
LPMM_STYLE_CONFIG = LPMM_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else LPMM_STYLE_CONFIG["advanced"]
+INTEREST_STYLE_CONFIG = INTEREST_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else INTEREST_STYLE_CONFIG["advanced"]
def is_registered_module(record: dict) -> bool:
diff --git a/src/heart_flow/interest_logger.py b/src/heart_flow/interest_logger.py
index 3833ef881..206cfa4bf 100644
--- a/src/heart_flow/interest_logger.py
+++ b/src/heart_flow/interest_logger.py
@@ -5,7 +5,7 @@ import os
import traceback
from typing import TYPE_CHECKING, Dict, List
-from src.common.logger import get_module_logger
+from src.common.logger import get_module_logger, LogConfig, INTEREST_STYLE_CONFIG
# Need chat_manager to get stream names
from src.plugins.chat.chat_stream import chat_manager
@@ -14,7 +14,11 @@ if TYPE_CHECKING:
from src.heart_flow.subheartflow_manager import SubHeartflowManager
from src.heart_flow.sub_heartflow import SubHeartflow # For type hint in get_interest_states
-logger = get_module_logger("interest_logger")
+interest_logger_config = LogConfig(
+ console_format = INTEREST_STYLE_CONFIG["console_format"],
+ file_format=INTEREST_STYLE_CONFIG["file_format"],
+)
+logger = get_module_logger("interest_logger", config=interest_logger_config)
# Consider moving log directory/filename constants here
LOG_DIRECTORY = "logs/interest"
diff --git a/src/main.py b/src/main.py
index 75ab2ae72..62fa70a6e 100644
--- a/src/main.py
+++ b/src/main.py
@@ -13,12 +13,16 @@ from .plugins.chat.message_sender import message_manager
from .plugins.storage.storage import MessageStorage
from .config.config import global_config
from .plugins.chat.bot import chat_bot
-from .common.logger import get_module_logger
+from .common.logger import get_module_logger, LogConfig, MAIN_STYLE_CONFIG
from .plugins.remote import heartbeat_thread # noqa: F401
from .individuality.individuality import Individuality
from .common.server import global_server
-logger = get_module_logger("main")
+main_log_config = LogConfig(
+ console_format=MAIN_STYLE_CONFIG["console_format"],
+ file_format=MAIN_STYLE_CONFIG["file_format"],
+)
+logger = get_module_logger("main", config=main_log_config)
class MainSystem: