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")