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: