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] =?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,