From ea88420ae258b2f3048db0cca46b4d1245de8752 Mon Sep 17 00:00:00 2001 From: AL76 <735756072@qq.com> Date: Sat, 15 Mar 2025 15:10:58 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E6=89=80?= =?UTF-8?q?=E6=9C=89=E6=A8=A1=E5=9D=97=E5=AF=B9=E4=BA=8Elogger=E7=9A=84?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=96=B9=E5=BC=8F=EF=BC=88=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E4=B8=8D=E5=85=A8=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.py | 2 +- src/gui/reasoning_gui.py | 7 +++++-- src/plugins/chat/__init__.py | 4 +++- src/plugins/chat/bot.py | 6 ++---- src/plugins/chat/chat_stream.py | 5 ++++- src/plugins/chat/config.py | 12 ++++-------- src/plugins/chat/emoji_manager.py | 7 ++----- src/plugins/chat/llm_generator.py | 4 +++- src/plugins/chat/message.py | 4 +++- src/plugins/chat/prompt_builder.py | 6 ++---- src/plugins/chat/relationship_manager.py | 4 +++- src/plugins/chat/storage.py | 4 +++- src/plugins/chat/topic_identifier.py | 4 +++- src/plugins/chat/utils.py | 4 +++- src/plugins/chat/utils_image.py | 5 ++++- src/plugins/memory_system/draw_memory.py | 4 +++- src/plugins/memory_system/memory.py | 10 ++-------- src/plugins/models/utils_model.py | 4 +++- src/plugins/moods/moods.py | 4 +++- src/plugins/remote/remote.py | 8 +++++--- src/plugins/schedule/schedule_generator.py | 4 +++- src/plugins/utils/statistic.py | 3 ++- src/plugins/willing/mode_dynamic.py | 4 +++- src/plugins/willing/willing_manager.py | 4 +++- 24 files changed, 72 insertions(+), 51 deletions(-) diff --git a/bot.py b/bot.py index 8201426c9..bf853bc0c 100644 --- a/bot.py +++ b/bot.py @@ -15,7 +15,7 @@ from src.common.logger import get_module_logger # 配置主程序日志格式 -logger = get_module_logger("主程序") +logger = get_module_logger("main_bot") # 获取没有加载env时的环境变量 env_mask = {key: os.getenv(key) for key in os.environ} diff --git a/src/gui/reasoning_gui.py b/src/gui/reasoning_gui.py index c577ba3ae..9ae58d38b 100644 --- a/src/gui/reasoning_gui.py +++ b/src/gui/reasoning_gui.py @@ -5,13 +5,14 @@ import threading import time from datetime import datetime from typing import Dict, List -from loguru import logger from typing import Optional - +from src.common.logger import get_module_logger import customtkinter as ctk from dotenv import load_dotenv +logger = get_module_logger("gui") + # 获取当前文件的目录 current_dir = os.path.dirname(os.path.abspath(__file__)) # 获取项目根目录 @@ -30,6 +31,8 @@ else: logger.error("未找到环境配置文件") sys.exit(1) +logger = get_module_logger("gui") + class ReasoningGUI: def __init__(self): # 记录启动时间戳,转换为Unix时间戳 diff --git a/src/plugins/chat/__init__.py b/src/plugins/chat/__init__.py index 6a30d3fba..75c7b4520 100644 --- a/src/plugins/chat/__init__.py +++ b/src/plugins/chat/__init__.py @@ -2,7 +2,6 @@ import asyncio import time import os -from loguru import logger from nonebot import get_driver, on_message, on_notice, require from nonebot.rule import to_me from nonebot.adapters.onebot.v11 import Bot, GroupMessageEvent, Message, MessageSegment, MessageEvent, NoticeEvent @@ -21,6 +20,9 @@ from ..memory_system.memory import hippocampus, memory_graph from .bot import ChatBot from .message_sender import message_manager, message_sender from .storage import MessageStorage +from src.common.logger import get_module_logger + +logger = get_module_logger("chat_init") # 创建LLM统计实例 llm_stats = LLMStatistics("llm_statistics.txt") diff --git a/src/plugins/chat/bot.py b/src/plugins/chat/bot.py index 34c788d98..384031051 100644 --- a/src/plugins/chat/bot.py +++ b/src/plugins/chat/bot.py @@ -12,6 +12,7 @@ from nonebot.adapters.onebot.v11 import ( FriendRecallNoticeEvent, ) +from src.common.logger import get_module_logger from ..memory_system.memory import hippocampus from ..moods.moods import MoodManager # 导入情绪管理器 from .config import global_config @@ -31,11 +32,8 @@ from .utils_image import image_path_to_base64 from .utils_user import get_user_nickname, get_user_cardname, get_groupname from ..willing.willing_manager import willing_manager # 导入意愿管理器 from .message_base import UserInfo, GroupInfo, Seg -from ..utils.logger_config import LogClassification, LogModule -# 配置日志 -log_module = LogModule() -logger = log_module.setup_logger(LogClassification.CHAT) +logger = get_module_logger("chat_bot") class ChatBot: diff --git a/src/plugins/chat/chat_stream.py b/src/plugins/chat/chat_stream.py index 60b0af493..2670075c8 100644 --- a/src/plugins/chat/chat_stream.py +++ b/src/plugins/chat/chat_stream.py @@ -4,11 +4,14 @@ import time import copy from typing import Dict, Optional -from loguru import logger from ...common.database import db from .message_base import GroupInfo, UserInfo +from src.common.logger import get_module_logger + +logger = get_module_logger("chat_stream") + class ChatStream: """聊天流对象,存储一个完整的聊天上下文""" diff --git a/src/plugins/chat/config.py b/src/plugins/chat/config.py index db9dd17b5..d2d5d2165 100644 --- a/src/plugins/chat/config.py +++ b/src/plugins/chat/config.py @@ -4,11 +4,14 @@ from dataclasses import dataclass, field from typing import Dict, List, Optional import tomli -from loguru import logger from packaging import version from packaging.version import Version, InvalidVersion from packaging.specifiers import SpecifierSet, InvalidSpecifier +from src.common.logger import get_module_logger + +logger = get_module_logger("config") + @dataclass class BotConfig: @@ -440,10 +443,3 @@ else: global_config = BotConfig.load_config(config_path=bot_config_path) -if not global_config.enable_advance_output: - logger.remove() - -# 调试输出功能 -if global_config.enable_debug_output: - logger.remove() - logger.add(sys.stdout, level="DEBUG") diff --git a/src/plugins/chat/emoji_manager.py b/src/plugins/chat/emoji_manager.py index 183568f2f..1d0573ccb 100644 --- a/src/plugins/chat/emoji_manager.py +++ b/src/plugins/chat/emoji_manager.py @@ -9,7 +9,6 @@ from typing import Optional, Tuple from PIL import Image import io -from loguru import logger from nonebot import get_driver from ...common.database import db @@ -17,12 +16,10 @@ from ..chat.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 LLM_request +from src.common.logger import get_module_logger -from ..utils.logger_config import LogClassification, LogModule +logger = get_module_logger("emoji") -# 配置日志 -log_module = LogModule() -logger = log_module.setup_logger(LogClassification.EMOJI) driver = get_driver() config = driver.config diff --git a/src/plugins/chat/llm_generator.py b/src/plugins/chat/llm_generator.py index a76f98dfb..5fb400b10 100644 --- a/src/plugins/chat/llm_generator.py +++ b/src/plugins/chat/llm_generator.py @@ -3,7 +3,6 @@ import time from typing import List, Optional, Tuple, Union from nonebot import get_driver -from loguru import logger from ...common.database import db from ..models.utils_model import LLM_request @@ -12,6 +11,9 @@ from .message import MessageRecv, MessageThinking, Message from .prompt_builder import prompt_builder from .relationship_manager import relationship_manager from .utils import process_llm_response +from src.common.logger import get_module_logger + +logger = get_module_logger("response_gen") driver = get_driver() config = driver.config diff --git a/src/plugins/chat/message.py b/src/plugins/chat/message.py index 633e74eea..6918401cf 100644 --- a/src/plugins/chat/message.py +++ b/src/plugins/chat/message.py @@ -6,12 +6,14 @@ from dataclasses import dataclass from typing import Dict, List, Optional import urllib3 -from loguru import logger from .utils_image import image_manager from .message_base import Seg, GroupInfo, UserInfo, BaseMessageInfo, MessageBase from .chat_stream import ChatStream, chat_manager +from src.common.logger import get_module_logger + +logger = get_module_logger("chat_message") # 禁用SSL警告 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) diff --git a/src/plugins/chat/prompt_builder.py b/src/plugins/chat/prompt_builder.py index 16d8882e4..2ab3aed92 100644 --- a/src/plugins/chat/prompt_builder.py +++ b/src/plugins/chat/prompt_builder.py @@ -9,11 +9,9 @@ from ..schedule.schedule_generator import bot_schedule from .config import global_config from .utils import get_embedding, get_recent_group_detailed_plain_text from .chat_stream import chat_manager +from src.common.logger import get_module_logger -from ..utils.logger_config import LogClassification, LogModule - -log_module = LogModule() -logger = log_module.setup_logger(LogClassification.PBUILDER) +logger = get_module_logger("prompt") logger.info("初始化Prompt系统") diff --git a/src/plugins/chat/relationship_manager.py b/src/plugins/chat/relationship_manager.py index d604e6734..937f5d7ce 100644 --- a/src/plugins/chat/relationship_manager.py +++ b/src/plugins/chat/relationship_manager.py @@ -1,11 +1,13 @@ import asyncio from typing import Optional -from loguru import logger +from src.common.logger import get_module_logger from ...common.database import db from .message_base import UserInfo from .chat_stream import ChatStream +logger = get_module_logger("rel_manager") + class Impression: traits: str = None called: str = None diff --git a/src/plugins/chat/storage.py b/src/plugins/chat/storage.py index 99ae13bd8..7f41daafb 100644 --- a/src/plugins/chat/storage.py +++ b/src/plugins/chat/storage.py @@ -3,7 +3,9 @@ from typing import Optional, Union from ...common.database import db from .message import MessageSending, MessageRecv from .chat_stream import ChatStream -from loguru import logger +from src.common.logger import get_module_logger + +logger = get_module_logger("message_storage") class MessageStorage: diff --git a/src/plugins/chat/topic_identifier.py b/src/plugins/chat/topic_identifier.py index a0c5bae30..58069f131 100644 --- a/src/plugins/chat/topic_identifier.py +++ b/src/plugins/chat/topic_identifier.py @@ -4,7 +4,9 @@ from nonebot import get_driver from ..models.utils_model import LLM_request from .config import global_config -from loguru import logger +from src.common.logger import get_module_logger + +logger = get_module_logger("topic_identifier") driver = get_driver() config = driver.config diff --git a/src/plugins/chat/utils.py b/src/plugins/chat/utils.py index 28e6b7f36..29f10fc20 100644 --- a/src/plugins/chat/utils.py +++ b/src/plugins/chat/utils.py @@ -7,7 +7,7 @@ from typing import Dict, List import jieba import numpy as np from nonebot import get_driver -from loguru import logger +from src.common.logger import get_module_logger from ..models.utils_model import LLM_request from ..utils.typo_generator import ChineseTypoGenerator @@ -21,6 +21,8 @@ from ...common.database import db driver = get_driver() config = driver.config +logger = get_module_logger("chat_utils") + def db_message_to_str(message_dict: Dict) -> str: diff --git a/src/plugins/chat/utils_image.py b/src/plugins/chat/utils_image.py index 6d900ba54..78b635df9 100644 --- a/src/plugins/chat/utils_image.py +++ b/src/plugins/chat/utils_image.py @@ -7,13 +7,16 @@ from typing import Optional, Union from PIL import Image import io -from loguru import logger from nonebot import get_driver from ...common.database import db from ..chat.config import global_config from ..models.utils_model import LLM_request +from src.common.logger import get_module_logger + +logger = get_module_logger("chat_image") + driver = get_driver() config = driver.config diff --git a/src/plugins/memory_system/draw_memory.py b/src/plugins/memory_system/draw_memory.py index df699f459..6fabc17d5 100644 --- a/src/plugins/memory_system/draw_memory.py +++ b/src/plugins/memory_system/draw_memory.py @@ -7,7 +7,9 @@ import jieba import matplotlib.pyplot as plt import networkx as nx from dotenv import load_dotenv -from loguru import logger +from src.common.logger import get_module_logger + +logger = get_module_logger("draw_memory") # 添加项目根目录到 Python 路径 root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../..")) diff --git a/src/plugins/memory_system/memory.py b/src/plugins/memory_system/memory.py index 47066ead5..aa8c7f940 100644 --- a/src/plugins/memory_system/memory.py +++ b/src/plugins/memory_system/memory.py @@ -3,7 +3,6 @@ import datetime import math import random import time -import os import jieba import networkx as nx @@ -18,14 +17,9 @@ from ..chat.utils import ( text_to_vector, ) from ..models.utils_model import LLM_request +from src.common.logger import get_module_logger -from ..utils.logger_config import LogClassification, LogModule - -# 配置日志 -log_module = LogModule() -logger = log_module.setup_logger(LogClassification.MEMORY) - -logger.info("初始化记忆系统") +logger = get_module_logger("memory_sys") class Memory_graph: diff --git a/src/plugins/models/utils_model.py b/src/plugins/models/utils_model.py index 893bece14..ee617a001 100644 --- a/src/plugins/models/utils_model.py +++ b/src/plugins/models/utils_model.py @@ -5,7 +5,7 @@ from datetime import datetime from typing import Tuple, Union import aiohttp -from loguru import logger +from src.common.logger import get_module_logger from nonebot import get_driver import base64 from PIL import Image @@ -16,6 +16,8 @@ from ..chat.config import global_config driver = get_driver() config = driver.config +logger = get_module_logger("model_utils") + class LLM_request: # 定义需要转换的模型列表,作为类变量避免重复 diff --git a/src/plugins/moods/moods.py b/src/plugins/moods/moods.py index c37bfc81d..0de889728 100644 --- a/src/plugins/moods/moods.py +++ b/src/plugins/moods/moods.py @@ -4,7 +4,9 @@ import time from dataclasses import dataclass from ..chat.config import global_config -from loguru import logger +from src.common.logger import get_module_logger + +logger = get_module_logger("mood_manager") @dataclass class MoodState: diff --git a/src/plugins/remote/remote.py b/src/plugins/remote/remote.py index 6020398e8..127806ebd 100644 --- a/src/plugins/remote/remote.py +++ b/src/plugins/remote/remote.py @@ -5,7 +5,9 @@ import platform import os import json import threading -from loguru import logger +from src.common.logger import get_module_logger + +logger = get_module_logger("remote") # UUID文件路径 UUID_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "client_uuid.json") @@ -30,9 +32,9 @@ def get_unique_id(): try: with open(UUID_FILE, "w") as f: json.dump({"client_id": client_id}, f) - print("已保存新生成的客户端ID到本地文件") + logger.info("已保存新生成的客户端ID到本地文件") except IOError as e: - print(f"保存UUID时出错: {e}") + logger.error(f"保存UUID时出错: {e}") return client_id diff --git a/src/plugins/schedule/schedule_generator.py b/src/plugins/schedule/schedule_generator.py index d117a32e6..a28e24999 100644 --- a/src/plugins/schedule/schedule_generator.py +++ b/src/plugins/schedule/schedule_generator.py @@ -3,13 +3,15 @@ import json import re from typing import Dict, Union -from loguru import logger from nonebot import get_driver from src.plugins.chat.config import global_config from ...common.database import db # 使用正确的导入语法 from ..models.utils_model import LLM_request +from src.common.logger import get_module_logger + +logger = get_module_logger("scheduler") driver = get_driver() config = driver.config diff --git a/src/plugins/utils/statistic.py b/src/plugins/utils/statistic.py index e812bce4b..f1f53275e 100644 --- a/src/plugins/utils/statistic.py +++ b/src/plugins/utils/statistic.py @@ -3,10 +3,11 @@ import time from collections import defaultdict from datetime import datetime, timedelta from typing import Any, Dict -from loguru import logger +from src.common.logger import get_module_logger from ...common.database import db +logger = get_module_logger("llm_statistics") class LLMStatistics: def __init__(self, output_file: str = "llm_statistics.txt"): diff --git a/src/plugins/willing/mode_dynamic.py b/src/plugins/willing/mode_dynamic.py index bab9a0d08..9f703fd85 100644 --- a/src/plugins/willing/mode_dynamic.py +++ b/src/plugins/willing/mode_dynamic.py @@ -2,7 +2,9 @@ import asyncio import random import time from typing import Dict -from loguru import logger +from src.common.logger import get_module_logger + +logger = get_module_logger("mode_dynamic") from ..chat.config import global_config diff --git a/src/plugins/willing/willing_manager.py b/src/plugins/willing/willing_manager.py index 1da3705ca..d9aa07143 100644 --- a/src/plugins/willing/willing_manager.py +++ b/src/plugins/willing/willing_manager.py @@ -1,11 +1,13 @@ from typing import Optional -from loguru import logger +from src.common.logger import get_module_logger from ..chat.config import global_config from .mode_classical import WillingManager as ClassicalWillingManager from .mode_dynamic import WillingManager as DynamicWillingManager from .mode_custom import WillingManager as CustomWillingManager +logger = get_module_logger("willing") + def init_willing_manager() -> Optional[object]: """ 根据配置初始化并返回对应的WillingManager实例