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)