重构跨多个模块的日志配置

- 将“get_module_logger”替换为新模块“logger_manager”中的“get_logger”,以实现一致的日志设置。
- 移除了单独的日志配置设置,转而采用集中式日志管理。
- 更新了多个文件中的日志初始化方法,包括“config.py”、“change_mood.py”、“change_relationship.py”等,以简化日志记录实践。
- 引入“logger_manager.py”,用于根据模块特定的样式处理日志配置。
This commit is contained in:
墨梓柒
2025-04-28 00:22:05 +08:00
parent 6bac8bee13
commit 12b03ecb8d
43 changed files with 411 additions and 230 deletions

15
bot.py
View File

@@ -8,21 +8,14 @@ import time
import platform
import traceback
from dotenv import load_dotenv
from src.common.logger import get_module_logger, LogConfig, CONFIRM_STYLE_CONFIG, MAIN_STYLE_CONFIG
from src.common.logger_manager import get_logger
# from src.common.logger import LogConfig, CONFIRM_STYLE_CONFIG
from src.common.crash_logger import install_crash_handler
from src.main import MainSystem
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"],
)
confirm_logger = get_module_logger("confirm", config=confirm_logger_config)
logger = get_logger("main")
confirm_logger = get_logger("confirm")
# 获取没有加载env时的环境变量
env_mask = {key: os.getenv(key) for key in os.environ}

View File

@@ -426,6 +426,24 @@ CHAT_STREAM_STYLE_CONFIG = {
},
}
CHAT_MESSAGE_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<light-blue>聊天消息</light-blue> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 聊天消息 | {message}",
},
"simple": {
"console_format": (
"<level>{time:MM-DD HH:mm}</level> | <light-blue>聊天消息</light-blue> | <light-blue>{message}</light-blue>"
), # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 聊天消息 | {message}",
},
}
PERSON_INFO_STYLE_CONFIG = {
"advanced": {
"console_format": (
@@ -567,6 +585,42 @@ LPMM_STYLE_CONFIG = {
},
}
OBSERVATION_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<light-yellow>聊天观察</light-yellow> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 聊天观察 | {message}",
},
"simple": {
"console_format": (
"<level>{time:MM-DD HH:mm}</level> | <light-yellow>聊天观察</light-yellow> | <light-yellow>{message}</light-yellow>"
), # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 聊天观察 | {message}",
},
}
CHAT_IMAGE_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<light-yellow>聊天图片</light-yellow> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 聊天图片 | {message}",
},
"simple": {
"console_format": (
"<level>{time:MM-DD HH:mm}</level> | <light-yellow>聊天图片</light-yellow> | <light-yellow>{message}</light-yellow>"
), # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 聊天图片 | {message}",
},
}
# 兴趣log
INTEREST_STYLE_CONFIG = {
"advanced": {
@@ -608,8 +662,140 @@ TIANYI_STYLE_CONFIG = {
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 天依 | {message}",
},
}
# 模型日志样式配置
MODEL_UTILS_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<light-yellow>模型</light-yellow> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 模型 | {message}",
},
"simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-green>模型</light-green> | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 模型 | {message}",
},
}
MESSAGE_BUFFER_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<light-yellow>消息缓存</light-yellow> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 消息缓存 | {message}",
},
"simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-green>消息缓存</light-green> | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 消息缓存 | {message}",
},
}
PROMPT_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<light-yellow>提示词构建</light-yellow> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 提示词构建 | {message}",
},
"simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-green>提示词构建</light-green> | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 提示词构建 | {message}",
},
}
CHANGE_MOOD_TOOL_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<fg #3FC1C9>心情工具</fg #3FC1C9> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 心情工具 | {message}",
},
"simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-green>心情工具</light-green> | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 心情工具 | {message}",
},
}
CHANGE_RELATIONSHIP_TOOL_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<fg #3FC1C9>关系工具</fg #3FC1C9> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 关系工具 | {message}",
},
"simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-green>关系工具</light-green> | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 关系工具 | {message}",
},
}
GET_KNOWLEDGE_TOOL_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<fg #3FC1C9>获取知识</fg #3FC1C9> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 获取知识 | {message}",
},
"simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-green>获取知识</light-green> | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 获取知识 | {message}",
},
}
GET_TIME_DATE_TOOL_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<fg #3FC1C9>获取时间日期</fg #3FC1C9> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 获取时间日期 | {message}",
},
"simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-green>获取时间日期</light-green> | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 获取时间日期 | {message}",
},
}
LPMM_GET_KNOWLEDGE_TOOL_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<fg #3FC1C9>LPMM获取知识</fg #3FC1C9> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | LPMM获取知识 | {message}",
},
"simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-green>LPMM获取知识</light-green> | {message}",
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | LPMM获取知识 | {message}",
},
}
# 根据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"]
@@ -649,6 +835,37 @@ PFC_STYLE_CONFIG = PFC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PFC_STYLE_CO
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"]
TIANYI_STYLE_CONFIG = TIANYI_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TIANYI_STYLE_CONFIG["advanced"]
MODEL_UTILS_STYLE_CONFIG = (
MODEL_UTILS_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MODEL_UTILS_STYLE_CONFIG["advanced"]
)
PROMPT_STYLE_CONFIG = PROMPT_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PROMPT_STYLE_CONFIG["advanced"]
CHANGE_MOOD_TOOL_STYLE_CONFIG = (
CHANGE_MOOD_TOOL_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else CHANGE_MOOD_TOOL_STYLE_CONFIG["advanced"]
)
CHANGE_RELATIONSHIP_TOOL_STYLE_CONFIG = (
CHANGE_RELATIONSHIP_TOOL_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else CHANGE_RELATIONSHIP_TOOL_STYLE_CONFIG["advanced"]
)
GET_KNOWLEDGE_TOOL_STYLE_CONFIG = (
GET_KNOWLEDGE_TOOL_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else GET_KNOWLEDGE_TOOL_STYLE_CONFIG["advanced"]
)
GET_TIME_DATE_TOOL_STYLE_CONFIG = (
GET_TIME_DATE_TOOL_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else GET_TIME_DATE_TOOL_STYLE_CONFIG["advanced"]
)
LPMM_GET_KNOWLEDGE_TOOL_STYLE_CONFIG = (
LPMM_GET_KNOWLEDGE_TOOL_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else LPMM_GET_KNOWLEDGE_TOOL_STYLE_CONFIG["advanced"]
)
OBSERVATION_STYLE_CONFIG = (
OBSERVATION_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else OBSERVATION_STYLE_CONFIG["advanced"]
)
MESSAGE_BUFFER_STYLE_CONFIG = (
MESSAGE_BUFFER_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MESSAGE_BUFFER_STYLE_CONFIG["advanced"]
)
CHAT_MESSAGE_STYLE_CONFIG = (
CHAT_MESSAGE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else CHAT_MESSAGE_STYLE_CONFIG["advanced"]
)
CHAT_IMAGE_STYLE_CONFIG = (
CHAT_IMAGE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else CHAT_IMAGE_STYLE_CONFIG["advanced"]
)
def is_registered_module(record: dict) -> bool:

View File

@@ -0,0 +1,99 @@
from src.common.logger import get_module_logger, LogConfig
from src.common.logger import (
BACKGROUND_TASKS_STYLE_CONFIG,
MAIN_STYLE_CONFIG,
MEMORY_STYLE_CONFIG,
PFC_STYLE_CONFIG,
MOOD_STYLE_CONFIG,
TOOL_USE_STYLE_CONFIG,
RELATION_STYLE_CONFIG,
CONFIG_STYLE_CONFIG,
HEARTFLOW_STYLE_CONFIG,
SCHEDULE_STYLE_CONFIG,
LLM_STYLE_CONFIG,
CHAT_STYLE_CONFIG,
EMOJI_STYLE_CONFIG,
SUB_HEARTFLOW_STYLE_CONFIG,
SUB_HEARTFLOW_MIND_STYLE_CONFIG,
SUBHEARTFLOW_MANAGER_STYLE_CONFIG,
BASE_TOOL_STYLE_CONFIG,
CHAT_STREAM_STYLE_CONFIG,
PERSON_INFO_STYLE_CONFIG,
WILLING_STYLE_CONFIG,
PFC_ACTION_PLANNER_STYLE_CONFIG,
MAI_STATE_CONFIG,
LPMM_STYLE_CONFIG,
INTEREST_STYLE_CONFIG,
TIANYI_STYLE_CONFIG,
REMOTE_STYLE_CONFIG,
TOPIC_STYLE_CONFIG,
SENDER_STYLE_CONFIG,
CONFIRM_STYLE_CONFIG,
MODEL_UTILS_STYLE_CONFIG,
PROMPT_STYLE_CONFIG,
CHANGE_MOOD_TOOL_STYLE_CONFIG,
CHANGE_RELATIONSHIP_TOOL_STYLE_CONFIG,
GET_KNOWLEDGE_TOOL_STYLE_CONFIG,
GET_TIME_DATE_TOOL_STYLE_CONFIG,
LPMM_GET_KNOWLEDGE_TOOL_STYLE_CONFIG,
OBSERVATION_STYLE_CONFIG,
MESSAGE_BUFFER_STYLE_CONFIG,
CHAT_MESSAGE_STYLE_CONFIG,
CHAT_IMAGE_STYLE_CONFIG,
)
# 可根据实际需要补充更多模块配置
MODULE_LOGGER_CONFIGS = {
"background_tasks": BACKGROUND_TASKS_STYLE_CONFIG, # 后台任务
"main": MAIN_STYLE_CONFIG, # 主程序
"memory": MEMORY_STYLE_CONFIG, # 海马体
"pfc": PFC_STYLE_CONFIG, # PFC
"mood": MOOD_STYLE_CONFIG, # 心情
"tool_use": TOOL_USE_STYLE_CONFIG, # 工具使用
"relation": RELATION_STYLE_CONFIG, # 关系
"config": CONFIG_STYLE_CONFIG, # 配置
"heartflow": HEARTFLOW_STYLE_CONFIG, # 麦麦大脑袋
"schedule": SCHEDULE_STYLE_CONFIG, # 在干嘛
"llm": LLM_STYLE_CONFIG, # 麦麦组织语言
"chat": CHAT_STYLE_CONFIG, # 见闻
"emoji": EMOJI_STYLE_CONFIG, # 表情包
"sub_heartflow": SUB_HEARTFLOW_STYLE_CONFIG, # 麦麦水群
"sub_heartflow_mind": SUB_HEARTFLOW_MIND_STYLE_CONFIG, # 麦麦小脑袋
"subheartflow_manager": SUBHEARTFLOW_MANAGER_STYLE_CONFIG, # 麦麦水群[管理]
"base_tool": BASE_TOOL_STYLE_CONFIG, # 工具使用
"chat_stream": CHAT_STREAM_STYLE_CONFIG, # 聊天流
"person_info": PERSON_INFO_STYLE_CONFIG, # 人物信息
"willing": WILLING_STYLE_CONFIG, # 意愿
"pfc_action_planner": PFC_ACTION_PLANNER_STYLE_CONFIG, # PFC私聊规划
"mai_state": MAI_STATE_CONFIG, # 麦麦状态
"lpmm": LPMM_STYLE_CONFIG, # LPMM
"interest": INTEREST_STYLE_CONFIG, # 兴趣
"tianyi": TIANYI_STYLE_CONFIG, # 天依
"remote": REMOTE_STYLE_CONFIG, # 远程
"topic": TOPIC_STYLE_CONFIG, # 话题
"sender": SENDER_STYLE_CONFIG, # 消息发送
"confirm": CONFIRM_STYLE_CONFIG, # EULA与PRIVACY确认
"model_utils": MODEL_UTILS_STYLE_CONFIG, # 模型工具
"prompt": PROMPT_STYLE_CONFIG, # 提示词
"change_mood_tool": CHANGE_MOOD_TOOL_STYLE_CONFIG, # 改变心情工具
"change_relationship": CHANGE_RELATIONSHIP_TOOL_STYLE_CONFIG, # 改变关系工具
"get_knowledge_tool": GET_KNOWLEDGE_TOOL_STYLE_CONFIG, # 获取知识工具
"get_time_date": GET_TIME_DATE_TOOL_STYLE_CONFIG, # 获取时间日期工具
"lpm_get_knowledge_tool": LPMM_GET_KNOWLEDGE_TOOL_STYLE_CONFIG, # LPMM获取知识工具
"observation": OBSERVATION_STYLE_CONFIG, # 聊天观察
"message_buffer": MESSAGE_BUFFER_STYLE_CONFIG, # 消息缓冲
"chat_message": CHAT_MESSAGE_STYLE_CONFIG, # 聊天消息
"chat_image": CHAT_IMAGE_STYLE_CONFIG, # 聊天图片
# ...如有更多模块,继续添加...
}
def get_logger(module_name: str):
style_config = MODULE_LOGGER_CONFIGS.get(module_name)
if style_config:
log_config = LogConfig(
console_format=style_config["console_format"],
file_format=style_config["file_format"],
)
return get_module_logger(module_name, config=log_config)
# 若无特殊样式,使用默认
return get_module_logger(module_name)

View File

@@ -13,17 +13,11 @@ from packaging import version
from packaging.version import Version, InvalidVersion
from packaging.specifiers import SpecifierSet, InvalidSpecifier
from src.common.logger import get_module_logger, CONFIG_STYLE_CONFIG, LogConfig
from src.common.logger_manager import get_logger
# 定义日志配置
config_config = LogConfig(
# 使用消息发送专用样式
console_format=CONFIG_STYLE_CONFIG["console_format"],
file_format=CONFIG_STYLE_CONFIG["file_format"],
)
# 配置主程序日志格式
logger = get_module_logger("config", config=config_config)
logger = get_logger("config")
# 考虑到实际上配置文件中的mai_version是不会自动更新的,所以采用硬编码
is_test = True

View File

@@ -1,11 +1,11 @@
from src.do_tool.tool_can_use.base_tool import BaseTool
from src.config.config import global_config
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from src.plugins.moods.moods import MoodManager
from typing import Dict, Any
logger = get_module_logger("change_mood_tool")
logger = get_logger("change_mood_tool")
class ChangeMoodTool(BaseTool):

View File

@@ -1,9 +1,9 @@
from typing import Dict, Any
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from src.do_tool.tool_can_use.base_tool import BaseTool
logger = get_module_logger("relationship_tool")
logger = get_logger("relationship_tool")
class RelationshipTool(BaseTool):

View File

@@ -3,14 +3,9 @@ import inspect
import importlib
import pkgutil
import os
from src.common.logger import get_module_logger, LogConfig, BASE_TOOL_STYLE_CONFIG
from src.common.logger_manager import get_logger
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)
logger = get_logger("base_tool")
# 工具注册表
TOOL_REGISTRY = {}

View File

@@ -1,10 +1,10 @@
from src.do_tool.tool_can_use.base_tool import BaseTool
from src.plugins.chat.utils import get_embedding
from src.common.database import db
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from typing import Dict, Any, Union
logger = get_module_logger("get_knowledge_tool")
logger = get_logger("get_knowledge_tool")
class SearchKnowledgeTool(BaseTool):

View File

@@ -1,9 +1,9 @@
from src.do_tool.tool_can_use.base_tool import BaseTool
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from typing import Dict, Any
from datetime import datetime
logger = get_module_logger("get_time_date")
logger = get_logger("get_time_date")
class GetCurrentDateTimeTool(BaseTool):

View File

@@ -2,12 +2,12 @@ from src.do_tool.tool_can_use.base_tool import BaseTool
from src.plugins.chat.utils import get_embedding
# from src.common.database import db
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from typing import Dict, Any
from src.plugins.knowledge.knowledge_lib import qa_manager
logger = get_module_logger("lpmm_get_knowledge_tool")
logger = get_logger("lpmm_get_knowledge_tool")
class SearchKnowledgeFromLPMMTool(BaseTool):

View File

@@ -1,7 +1,7 @@
from src.plugins.models.utils_model import LLMRequest
from src.config.config import global_config
import json
from src.common.logger import get_module_logger, TOOL_USE_STYLE_CONFIG, LogConfig
from src.common.logger_manager import get_logger
from src.do_tool.tool_can_use import get_all_tool_definitions, get_tool_instance
import traceback
from src.plugins.person_info.relationship_manager import relationship_manager
@@ -9,12 +9,7 @@ from src.plugins.chat.utils import parse_text_timestamps
from src.plugins.chat.chat_stream import ChatStream
from src.heart_flow.observation import ChattingObservation
tool_use_config = LogConfig(
# 使用消息发送专用样式
console_format=TOOL_USE_STYLE_CONFIG["console_format"],
file_format=TOOL_USE_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("tool_use", config=tool_use_config)
logger = get_logger("tool_use")
class ToolUser:

View File

@@ -2,19 +2,15 @@ import asyncio
import traceback
from typing import Optional, Coroutine, Callable, Any, List
from src.common.logger import get_module_logger, LogConfig, BACKGROUND_TASKS_STYLE_CONFIG
from src.common.logger_manager import get_logger
# 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
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)
logger = get_logger("background_tasks")
# 新增随机停用间隔 (5 分钟)
RANDOM_DEACTIVATION_INTERVAL_SECONDS = 300

View File

@@ -2,7 +2,7 @@ from src.heart_flow.sub_heartflow import SubHeartflow
from src.plugins.models.utils_model import LLMRequest
from src.config.config import global_config
from src.plugins.schedule.schedule_generator import bot_schedule
from src.common.logger import get_module_logger, LogConfig, HEARTFLOW_STYLE_CONFIG
from src.common.logger_manager import get_logger
from typing import Any, Optional
from src.do_tool.tool_use import ToolUser
from src.plugins.person_info.relationship_manager import relationship_manager # Module instance
@@ -13,11 +13,7 @@ from src.heart_flow.interest_logger import InterestLogger # Import InterestLogg
from src.heart_flow.background_tasks import BackgroundTaskManager # Import BackgroundTaskManager
# --- End import ---
heartflow_config = LogConfig(
console_format=HEARTFLOW_STYLE_CONFIG["console_format"],
file_format=HEARTFLOW_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("heartflow", config=heartflow_config)
logger = get_logger("heartflow")
# Task Intervals (should be in BackgroundTaskManager or config)

View File

@@ -5,7 +5,7 @@ import os
import traceback
from typing import TYPE_CHECKING, Dict, List
from src.common.logger import get_module_logger, LogConfig, INTEREST_STYLE_CONFIG
from src.common.logger_manager import get_logger
# Need chat_manager to get stream names
from src.plugins.chat.chat_stream import chat_manager
@@ -15,11 +15,8 @@ if TYPE_CHECKING:
from src.heart_flow.sub_heartflow import SubHeartflow
from src.heart_flow.heartflow import Heartflow # 导入 Heartflow 类型
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)
logger = get_logger("interest")
# Consider moving log directory/filename constants here
LOG_DIRECTORY = "logs/interest"

View File

@@ -2,15 +2,10 @@ import enum
import time
import random
from typing import List, Tuple, Optional
from src.common.logger import get_module_logger, LogConfig, MAI_STATE_CONFIG
from src.common.logger_manager import get_logger
from src.plugins.moods.moods import MoodManager
mai_state_config = LogConfig(
# 使用海马体专用样式
console_format=MAI_STATE_CONFIG["console_format"],
file_format=MAI_STATE_CONFIG["file_format"],
)
logger = get_module_logger("mai_state_manager", config=mai_state_config)
logger = get_logger("mai_state")
# enable_unlimited_hfc_chat = True

View File

@@ -1,7 +1,7 @@
import traceback
from typing import TYPE_CHECKING
from src.common.logger import get_module_logger, LogConfig, SUB_HEARTFLOW_MIND_STYLE_CONFIG
from src.common.logger_manager import get_logger
from src.plugins.models.utils_model import LLMRequest
from src.individuality.individuality import Individuality
from src.plugins.utils.prompt_builder import global_prompt_manager
@@ -12,12 +12,8 @@ if TYPE_CHECKING:
from src.heart_flow.subheartflow_manager import SubHeartflowManager
from src.heart_flow.mai_state_manager import MaiStateInfo
mind_log_config = LogConfig(
console_format=SUB_HEARTFLOW_MIND_STYLE_CONFIG["console_format"],
file_format=SUB_HEARTFLOW_MIND_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("mind", config=mind_log_config)
logger = get_logger("sub_heartflow_mind")
class Mind:

View File

@@ -3,7 +3,7 @@
from datetime import datetime
from src.plugins.models.utils_model import LLMRequest
from src.config.config import global_config
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
import traceback
from src.plugins.utils.chat_message_builder import (
get_raw_msg_before_timestamp_with_chat,
@@ -12,7 +12,7 @@ from src.plugins.utils.chat_message_builder import (
num_new_messages_since,
)
logger = get_module_logger("observation")
logger = get_logger("observation")
# 所有观察的基类

View File

@@ -4,7 +4,7 @@ from src.config.config import global_config
import time
from typing import Optional, List, Dict, Tuple, Callable, Coroutine
import traceback
from src.common.logger import get_module_logger, LogConfig, SUB_HEARTFLOW_STYLE_CONFIG # noqa: E402
from src.common.logger_manager import get_logger
import random
from src.plugins.chat.message import MessageRecv
from src.plugins.chat.chat_stream import chat_manager
@@ -24,12 +24,7 @@ from src.heart_flow.sub_mind import SubMind
# 定义常量 (从 interest.py 移动过来)
MAX_INTEREST = 15.0
subheartflow_config = LogConfig(
# 使用海马体专用样式
console_format=SUB_HEARTFLOW_STYLE_CONFIG["console_format"],
file_format=SUB_HEARTFLOW_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("subheartflow", config=subheartflow_config)
logger = get_logger("subheartflow")
base_reply_probability = 0.05
probability_increase_rate_per_second = 0.08

View File

@@ -3,7 +3,7 @@ from src.plugins.models.utils_model import LLMRequest
from src.config.config import global_config
import time
import traceback
from src.common.logger import get_module_logger, LogConfig, SUB_HEARTFLOW_STYLE_CONFIG # noqa: E402
from src.common.logger_manager import get_logger
from src.individuality.individuality import Individuality
import random
from ..plugins.utils.prompt_builder import Prompt, global_prompt_manager
@@ -13,11 +13,8 @@ from src.heart_flow.chat_state_info import ChatStateInfo
from src.plugins.chat.chat_stream import chat_manager
from src.plugins.heartFC_chat.heartFC_Cycleinfo import CycleInfo
subheartflow_config = LogConfig(
console_format=SUB_HEARTFLOW_STYLE_CONFIG["console_format"],
file_format=SUB_HEARTFLOW_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("subheartflow", config=subheartflow_config)
logger = get_logger("sub_heartflow")
def init_prompt():

View File

@@ -6,7 +6,7 @@ import json # 导入 json 模块
import functools # <-- 新增导入
# 导入日志模块
from src.common.logger import get_module_logger, LogConfig, SUBHEARTFLOW_MANAGER_STYLE_CONFIG
from src.common.logger_manager import get_logger
# 导入聊天流管理模块
from src.plugins.chat.chat_stream import chat_manager
@@ -25,11 +25,7 @@ import traceback
# 初始化日志记录器
subheartflow_manager_log_config = LogConfig(
console_format=SUBHEARTFLOW_MANAGER_STYLE_CONFIG["console_format"],
file_format=SUBHEARTFLOW_MANAGER_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("subheartflow_manager", config=subheartflow_manager_log_config)
logger = get_logger("subheartflow_manager")
# 子心流管理相关常量
INACTIVE_THRESHOLD_SECONDS = 3600 # 子心流不活跃超时时间(秒)

View File

@@ -13,16 +13,12 @@ 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, LogConfig, MAIN_STYLE_CONFIG
from .common.logger_manager import get_logger
from .plugins.remote import heartbeat_thread # noqa: F401
from .individuality.individuality import Individuality
from .common.server import global_server
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)
logger = get_logger("main")
class MainSystem:

View File

@@ -1,6 +1,6 @@
import time
from typing import Tuple
from src.common.logger import get_module_logger, LogConfig, PFC_ACTION_PLANNER_STYLE_CONFIG
from src.common.logger_manager import get_logger
from ..models.utils_model import LLMRequest
from ...config.config import global_config
from .chat_observer import ChatObserver
@@ -10,12 +10,9 @@ from .observation_info import ObservationInfo
from .conversation_info import ConversationInfo
from src.plugins.utils.chat_message_builder import build_readable_messages
pfc_action_log_config = LogConfig(
console_format=PFC_ACTION_PLANNER_STYLE_CONFIG["console_format"],
file_format=PFC_ACTION_PLANNER_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("action_planner", config=pfc_action_log_config)
logger = get_logger("pfc_action_planner")
# 注意:这个 ActionPlannerInfo 类似乎没有在 ActionPlanner 中使用,

View File

@@ -10,7 +10,7 @@ from typing import Dict, Any
from ..chat.message import Message
from .pfc_types import ConversationState
from .pfc import ChatObserver, GoalAnalyzer, DirectMessageSender
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from .action_planner import ActionPlanner
from .observation_info import ObservationInfo
from .conversation_info import ConversationInfo
@@ -23,7 +23,7 @@ from .waiter import Waiter
import traceback
logger = get_module_logger("pfc_conversation")
logger = get_logger("pfc")
class Conversation:

View File

@@ -5,20 +5,16 @@ from ..PFC.pfc_manager import PFCManager
from .chat_stream import chat_manager
from .only_message_process import MessageProcessor
from src.common.logger import get_module_logger, CHAT_STYLE_CONFIG, LogConfig
from src.common.logger_manager import get_logger
from ..heartFC_chat.heartflow_processor import HeartFCProcessor
from ..utils.prompt_builder import Prompt, global_prompt_manager
import traceback
# 定义日志配置
chat_config = LogConfig(
# 使用消息发送专用样式
console_format=CHAT_STYLE_CONFIG["console_format"],
file_format=CHAT_STYLE_CONFIG["file_format"],
)
# 配置主程序日志格式
logger = get_module_logger("chat_bot", config=chat_config)
logger = get_logger("chat")
class ChatBot:

View File

@@ -8,14 +8,11 @@ from typing import Dict, Optional
from ...common.database import db
from maim_message import GroupInfo, UserInfo
from src.common.logger import get_module_logger, LogConfig, CHAT_STREAM_STYLE_CONFIG
from src.common.logger_manager import get_logger
chat_stream_log_config = LogConfig(
console_format=CHAT_STREAM_STYLE_CONFIG["console_format"],
file_format=CHAT_STREAM_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("chat_stream", config=chat_stream_log_config)
logger = get_logger("chat_stream")
class ChatStream:

View File

@@ -4,12 +4,12 @@ from typing import Dict, List, Optional, Union
import urllib3
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from .chat_stream import ChatStream
from .utils_image import image_manager
from maim_message import Seg, UserInfo, BaseMessageInfo, MessageBase
logger = get_module_logger("chat_message")
logger = get_logger("chat_message")
# 禁用SSL警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

View File

@@ -1,5 +1,5 @@
from ..person_info.person_info import person_info_manager
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
import asyncio
from dataclasses import dataclass, field
from .message import MessageRecv
@@ -11,7 +11,7 @@ import random
import time
from ...config.config import global_config
logger = get_module_logger("message_buffer")
logger = get_logger("message_buffer")
@dataclass

View File

@@ -3,8 +3,6 @@ import asyncio
import time
from typing import Dict, List, Optional, Union
from src.common.logger import get_module_logger
# from ...common.database import db # 数据库依赖似乎不需要了,注释掉
from ..message.api import global_api
from .message import MessageSending, MessageThinking, MessageSet
@@ -13,16 +11,10 @@ from ..storage.storage import MessageStorage
from ...config.config import global_config
from .utils import truncate_message, calculate_typing_time, count_messages_between
from src.common.logger import LogConfig, SENDER_STYLE_CONFIG
from src.common.logger_manager import get_logger
# 定义日志配置
sender_config = LogConfig(
# 使用消息发送专用样式
console_format=SENDER_STYLE_CONFIG["console_format"],
file_format=SENDER_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("msg_sender", config=sender_config)
logger = get_logger("sender")
class MessageSender:

View File

@@ -1,10 +1,10 @@
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from src.plugins.chat.message import MessageRecv
from src.plugins.storage.storage import MessageStorage
from src.config.config import global_config
from datetime import datetime
logger = get_module_logger("pfc_message_processor")
logger = get_logger("pfc")
class MessageProcessor:

View File

@@ -11,9 +11,9 @@ from ...common.database import db
from ...config.config import global_config
from ..models.utils_model import LLMRequest
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
logger = get_module_logger("chat_image")
logger = get_logger("chat_image")
class ImageManager:

View File

@@ -14,15 +14,11 @@ from ...common.database import db
from ...config.config import global_config
from ..chat.utils_image import image_path_to_base64, image_manager
from ..models.utils_model import LLMRequest
from src.common.logger import get_module_logger, LogConfig, EMOJI_STYLE_CONFIG
from src.common.logger_manager import get_logger
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)
logger = get_logger("emoji")
BASE_DIR = os.path.join("data")
EMOJI_DIR = os.path.join(BASE_DIR, "emoji") # 表情包存储目录

View File

@@ -9,7 +9,7 @@ from src.plugins.chat.message import Seg # Local import needed after move
from src.plugins.chat.chat_stream import ChatStream
from src.plugins.chat.message import UserInfo
from src.plugins.chat.chat_stream import chat_manager
from src.common.logger import get_module_logger, LogConfig, PFC_STYLE_CONFIG # 引入 DEFAULT_CONFIG
from src.common.logger_manager import get_logger
from src.plugins.models.utils_model import LLMRequest
from src.config.config import global_config
from src.plugins.chat.utils_image import image_path_to_base64 # Local import needed after move
@@ -30,12 +30,7 @@ from .heartFC_sender import HeartFCSender
INITIAL_DURATION = 60.0
# 定义日志配置 (使用 loguru 格式)
interest_log_config = LogConfig(
console_format=PFC_STYLE_CONFIG["console_format"], # 使用默认控制台格式
file_format=PFC_STYLE_CONFIG["file_format"], # 使用默认文件格式
)
logger = get_module_logger("HeartFCLoop", config=interest_log_config) # Logger Name Changed
logger = get_logger("interest") # Logger Name Changed
# 默认动作定义

View File

@@ -6,20 +6,15 @@ from ...config.config import global_config
from ..chat.message import MessageRecv
from .heartflow_prompt_builder import prompt_builder
from ..chat.utils import process_llm_response
from src.common.logger import get_module_logger, LogConfig, LLM_STYLE_CONFIG
from src.common.logger_manager import get_logger
from src.plugins.respon_info_catcher.info_catcher import info_catcher_manager
from ..utils.timer_calculator import Timer
from src.plugins.moods.moods import MoodManager
# 定义日志配置
llm_config = LogConfig(
# 使用消息发送专用样式
console_format=LLM_STYLE_CONFIG["console_format"],
file_format=LLM_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("llm_generator", config=llm_config)
logger = get_logger("llm")
class HeartFCGenerator:

View File

@@ -1,23 +1,16 @@
# src/plugins/heartFC_chat/heartFC_sender.py
import asyncio # 重新导入 asyncio
from typing import Dict, Optional # 重新导入类型
from src.common.logger import get_module_logger
from ..message.api import global_api
from ..chat.message import MessageSending, MessageThinking # 只保留 MessageSending 和 MessageThinking
from ..storage.storage import MessageStorage
from ..chat.utils import truncate_message
from src.common.logger import LogConfig, SENDER_STYLE_CONFIG
from src.common.logger_manager import get_logger
from src.plugins.chat.utils import calculate_typing_time
# 定义日志配置
sender_config = LogConfig(
# 使用消息发送专用样式
console_format=SENDER_STYLE_CONFIG["console_format"],
file_format=SENDER_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("msg_sender", config=sender_config)
logger = get_logger("sender")
class HeartFCSender:

View File

@@ -7,19 +7,14 @@ from ..storage.storage import MessageStorage
from ..chat.utils import is_mentioned_bot_in_message
from maim_message import Seg
from src.heart_flow.heartflow import heartflow
from src.common.logger import get_module_logger, CHAT_STYLE_CONFIG, LogConfig
from src.common.logger_manager import get_logger
from ..chat.chat_stream import chat_manager
from ..chat.message_buffer import message_buffer
from ..utils.timer_calculator import Timer
from src.plugins.person_info.relationship_manager import relationship_manager
from typing import Optional, Tuple
# 定义日志配置
processor_config = LogConfig(
console_format=CHAT_STYLE_CONFIG["console_format"],
file_format=CHAT_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("heartflow_processor", config=processor_config)
logger = get_logger("chat")
class HeartFCProcessor:

View File

@@ -1,6 +1,6 @@
import random
from ...config.config import global_config
from src.common.logger import get_module_logger
from src.common.logger_manager import get_logger
from ...individuality.individuality import Individuality
from src.plugins.utils.prompt_builder import Prompt, global_prompt_manager
from src.plugins.utils.chat_message_builder import build_readable_messages, get_raw_msg_before_timestamp_with_chat
@@ -15,7 +15,7 @@ from ..memory_system.Hippocampus import HippocampusManager
from ..schedule.schedule_generator import bot_schedule
from ..knowledge.knowledge_lib import qa_manager
logger = get_module_logger("prompt")
logger = get_logger("prompt")
def init_prompt():

View File

@@ -14,19 +14,15 @@ from ..chat.message_sender import message_manager
from ..chat.utils_image import image_path_to_base64
from ..willing.willing_manager import willing_manager
from maim_message import UserInfo, Seg
from src.common.logger import get_module_logger, CHAT_STYLE_CONFIG, LogConfig
from src.common.logger_manager import get_logger
from src.plugins.chat.chat_stream import ChatStream, chat_manager
from src.plugins.person_info.relationship_manager import relationship_manager
from src.plugins.respon_info_catcher.info_catcher import info_catcher_manager
from src.plugins.utils.timer_calculator import Timer
# 定义日志配置
chat_config = LogConfig(
console_format=CHAT_STYLE_CONFIG["console_format"],
file_format=CHAT_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("normal_chat", config=chat_config)
logger = get_logger("chat")
class NormalChat:

View File

@@ -6,17 +6,12 @@ from ..chat.message import MessageThinking
from .heartflow_prompt_builder import prompt_builder
from ..chat.utils import process_llm_response
from ..utils.timer_calculator import Timer
from src.common.logger import get_module_logger, LogConfig, LLM_STYLE_CONFIG
from src.common.logger_manager import get_logger
from src.plugins.respon_info_catcher.info_catcher import info_catcher_manager
# 定义日志配置
llm_config = LogConfig(
# 使用消息发送专用样式
console_format=LLM_STYLE_CONFIG["console_format"],
file_format=LLM_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("llm_generator", config=llm_config)
logger = get_logger("llm")
class NormalChatGenerator:

View File

@@ -1,10 +1,5 @@
# Configure logger
from src.common.logger import get_module_logger, LogConfig, LPMM_STYLE_CONFIG
from src.common.logger_manager import get_logger
lpmm_log_config = LogConfig(
console_format=LPMM_STYLE_CONFIG["console_format"],
file_format=LPMM_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("LPMM", config=lpmm_log_config)
logger = get_logger("lpmm")

View File

@@ -12,7 +12,7 @@ import numpy as np
from collections import Counter
from ...common.database import db
from ...plugins.models.utils_model import LLMRequest
from src.common.logger import get_module_logger, LogConfig, MEMORY_STYLE_CONFIG
from src.common.logger_manager import get_logger
from src.plugins.memory_system.sample_distribution import MemoryBuildScheduler # 分布生成器
from .memory_config import MemoryConfig
@@ -83,15 +83,9 @@ def cosine_similarity(v1, v2):
return dot_product / (norm1 * norm2)
# 定义日志配置
memory_config = LogConfig(
# 使用海马体专用样式
console_format=MEMORY_STYLE_CONFIG["console_format"],
file_format=MEMORY_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("memory_system", config=memory_config)
logger = get_logger("memory")
class MemoryGraph:

View File

@@ -4,16 +4,12 @@ import time
from dataclasses import dataclass
from ...config.config import global_config
from src.common.logger import get_module_logger, LogConfig, MOOD_STYLE_CONFIG
from src.common.logger_manager import get_logger
from ..person_info.relationship_manager import relationship_manager
from src.individuality.individuality import Individuality
mood_config = LogConfig(
# 使用海马体专用样式
console_format=MOOD_STYLE_CONFIG["console_format"],
file_format=MOOD_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("mood_manager", config=mood_config)
logger = get_logger("mood")
@dataclass

View File

@@ -1,4 +1,4 @@
from src.common.logger import get_module_logger, LogConfig, PERSON_INFO_STYLE_CONFIG
from src.common.logger_manager import get_logger
from ...common.database import db
import copy
import hashlib
@@ -33,12 +33,8 @@ PersonInfoManager 类方法功能摘要:
9. personal_habit_deduction - 定时推断个人习惯
"""
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)
logger = get_logger("person_info")
person_info_default = {
"person_id": None,

View File

@@ -1,4 +1,4 @@
from src.common.logger import get_module_logger, LogConfig, RELATION_STYLE_CONFIG
from src.common.logger_manager import get_logger
from ..chat.chat_stream import ChatStream
import math
from bson.decimal128 import Decimal128
@@ -7,12 +7,8 @@ import time
import re
import traceback
relationship_config = LogConfig(
# 使用关系专用样式
console_format=RELATION_STYLE_CONFIG["console_format"],
file_format=RELATION_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("rel_manager", config=relationship_config)
logger = get_logger("relation")
class RelationshipManager: