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..67a38594f 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,60 @@ 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": ( + "{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 +401,21 @@ 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 +478,13 @@ 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"] +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"] +) 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/do_tool/tool_can_use/base_tool.py b/src/do_tool/tool_can_use/base_tool.py index b1edf8055..7a89369fe 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/heart_flow/background_tasks.py b/src/heart_flow/background_tasks.py index 3a280f291..d6a9869b7 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, ChatState 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) # 新增兴趣评估间隔 INTEREST_EVAL_INTERVAL_SECONDS = 5 diff --git a/src/plugins/chat/emoji_manager.py b/src/plugins/chat/emoji_manager.py index 6b09a5839..cbc8e600a 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/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, 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")