refactor: 重构所有模块对于logger的初始化方式(可能不全)

This commit is contained in:
AL76
2025-03-15 15:10:58 +08:00
parent 61fcc83049
commit ea88420ae2
24 changed files with 72 additions and 51 deletions

2
bot.py
View File

@@ -15,7 +15,7 @@ from src.common.logger import get_module_logger
# 配置主程序日志格式 # 配置主程序日志格式
logger = get_module_logger("主程序") logger = get_module_logger("main_bot")
# 获取没有加载env时的环境变量 # 获取没有加载env时的环境变量
env_mask = {key: os.getenv(key) for key in os.environ} env_mask = {key: os.getenv(key) for key in os.environ}

View File

@@ -5,13 +5,14 @@ import threading
import time import time
from datetime import datetime from datetime import datetime
from typing import Dict, List from typing import Dict, List
from loguru import logger
from typing import Optional from typing import Optional
from src.common.logger import get_module_logger
import customtkinter as ctk import customtkinter as ctk
from dotenv import load_dotenv from dotenv import load_dotenv
logger = get_module_logger("gui")
# 获取当前文件的目录 # 获取当前文件的目录
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 获取项目根目录 # 获取项目根目录
@@ -30,6 +31,8 @@ else:
logger.error("未找到环境配置文件") logger.error("未找到环境配置文件")
sys.exit(1) sys.exit(1)
logger = get_module_logger("gui")
class ReasoningGUI: class ReasoningGUI:
def __init__(self): def __init__(self):
# 记录启动时间戳转换为Unix时间戳 # 记录启动时间戳转换为Unix时间戳

View File

@@ -2,7 +2,6 @@ import asyncio
import time import time
import os import os
from loguru import logger
from nonebot import get_driver, on_message, on_notice, require from nonebot import get_driver, on_message, on_notice, require
from nonebot.rule import to_me from nonebot.rule import to_me
from nonebot.adapters.onebot.v11 import Bot, GroupMessageEvent, Message, MessageSegment, MessageEvent, NoticeEvent 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 .bot import ChatBot
from .message_sender import message_manager, message_sender from .message_sender import message_manager, message_sender
from .storage import MessageStorage from .storage import MessageStorage
from src.common.logger import get_module_logger
logger = get_module_logger("chat_init")
# 创建LLM统计实例 # 创建LLM统计实例
llm_stats = LLMStatistics("llm_statistics.txt") llm_stats = LLMStatistics("llm_statistics.txt")

View File

@@ -12,6 +12,7 @@ from nonebot.adapters.onebot.v11 import (
FriendRecallNoticeEvent, FriendRecallNoticeEvent,
) )
from src.common.logger import get_module_logger
from ..memory_system.memory import hippocampus from ..memory_system.memory import hippocampus
from ..moods.moods import MoodManager # 导入情绪管理器 from ..moods.moods import MoodManager # 导入情绪管理器
from .config import global_config 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 .utils_user import get_user_nickname, get_user_cardname, get_groupname
from ..willing.willing_manager import willing_manager # 导入意愿管理器 from ..willing.willing_manager import willing_manager # 导入意愿管理器
from .message_base import UserInfo, GroupInfo, Seg from .message_base import UserInfo, GroupInfo, Seg
from ..utils.logger_config import LogClassification, LogModule
# 配置日志 logger = get_module_logger("chat_bot")
log_module = LogModule()
logger = log_module.setup_logger(LogClassification.CHAT)
class ChatBot: class ChatBot:

View File

@@ -4,11 +4,14 @@ import time
import copy import copy
from typing import Dict, Optional from typing import Dict, Optional
from loguru import logger
from ...common.database import db from ...common.database import db
from .message_base import GroupInfo, UserInfo from .message_base import GroupInfo, UserInfo
from src.common.logger import get_module_logger
logger = get_module_logger("chat_stream")
class ChatStream: class ChatStream:
"""聊天流对象,存储一个完整的聊天上下文""" """聊天流对象,存储一个完整的聊天上下文"""

View File

@@ -4,11 +4,14 @@ from dataclasses import dataclass, field
from typing import Dict, List, Optional from typing import Dict, List, Optional
import tomli import tomli
from loguru import logger
from packaging import version from packaging import version
from packaging.version import Version, InvalidVersion from packaging.version import Version, InvalidVersion
from packaging.specifiers import SpecifierSet, InvalidSpecifier from packaging.specifiers import SpecifierSet, InvalidSpecifier
from src.common.logger import get_module_logger
logger = get_module_logger("config")
@dataclass @dataclass
class BotConfig: class BotConfig:
@@ -440,10 +443,3 @@ else:
global_config = BotConfig.load_config(config_path=bot_config_path) 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")

View File

@@ -9,7 +9,6 @@ from typing import Optional, Tuple
from PIL import Image from PIL import Image
import io import io
from loguru import logger
from nonebot import get_driver from nonebot import get_driver
from ...common.database import db from ...common.database import db
@@ -17,12 +16,10 @@ from ..chat.config import global_config
from ..chat.utils import get_embedding from ..chat.utils import get_embedding
from ..chat.utils_image import ImageManager, image_path_to_base64 from ..chat.utils_image import ImageManager, image_path_to_base64
from ..models.utils_model import LLM_request 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() driver = get_driver()
config = driver.config config = driver.config

View File

@@ -3,7 +3,6 @@ import time
from typing import List, Optional, Tuple, Union from typing import List, Optional, Tuple, Union
from nonebot import get_driver from nonebot import get_driver
from loguru import logger
from ...common.database import db from ...common.database import db
from ..models.utils_model import LLM_request from ..models.utils_model import LLM_request
@@ -12,6 +11,9 @@ from .message import MessageRecv, MessageThinking, Message
from .prompt_builder import prompt_builder from .prompt_builder import prompt_builder
from .relationship_manager import relationship_manager from .relationship_manager import relationship_manager
from .utils import process_llm_response from .utils import process_llm_response
from src.common.logger import get_module_logger
logger = get_module_logger("response_gen")
driver = get_driver() driver = get_driver()
config = driver.config config = driver.config

View File

@@ -6,12 +6,14 @@ from dataclasses import dataclass
from typing import Dict, List, Optional from typing import Dict, List, Optional
import urllib3 import urllib3
from loguru import logger
from .utils_image import image_manager from .utils_image import image_manager
from .message_base import Seg, GroupInfo, UserInfo, BaseMessageInfo, MessageBase from .message_base import Seg, GroupInfo, UserInfo, BaseMessageInfo, MessageBase
from .chat_stream import ChatStream, chat_manager from .chat_stream import ChatStream, chat_manager
from src.common.logger import get_module_logger
logger = get_module_logger("chat_message")
# 禁用SSL警告 # 禁用SSL警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

View File

@@ -9,11 +9,9 @@ from ..schedule.schedule_generator import bot_schedule
from .config import global_config from .config import global_config
from .utils import get_embedding, get_recent_group_detailed_plain_text from .utils import get_embedding, get_recent_group_detailed_plain_text
from .chat_stream import chat_manager from .chat_stream import chat_manager
from src.common.logger import get_module_logger
from ..utils.logger_config import LogClassification, LogModule logger = get_module_logger("prompt")
log_module = LogModule()
logger = log_module.setup_logger(LogClassification.PBUILDER)
logger.info("初始化Prompt系统") logger.info("初始化Prompt系统")

View File

@@ -1,11 +1,13 @@
import asyncio import asyncio
from typing import Optional from typing import Optional
from loguru import logger from src.common.logger import get_module_logger
from ...common.database import db from ...common.database import db
from .message_base import UserInfo from .message_base import UserInfo
from .chat_stream import ChatStream from .chat_stream import ChatStream
logger = get_module_logger("rel_manager")
class Impression: class Impression:
traits: str = None traits: str = None
called: str = None called: str = None

View File

@@ -3,7 +3,9 @@ from typing import Optional, Union
from ...common.database import db from ...common.database import db
from .message import MessageSending, MessageRecv from .message import MessageSending, MessageRecv
from .chat_stream import ChatStream 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: class MessageStorage:

View File

@@ -4,7 +4,9 @@ from nonebot import get_driver
from ..models.utils_model import LLM_request from ..models.utils_model import LLM_request
from .config import global_config 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() driver = get_driver()
config = driver.config config = driver.config

View File

@@ -7,7 +7,7 @@ from typing import Dict, List
import jieba import jieba
import numpy as np import numpy as np
from nonebot import get_driver 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 ..models.utils_model import LLM_request
from ..utils.typo_generator import ChineseTypoGenerator from ..utils.typo_generator import ChineseTypoGenerator
@@ -21,6 +21,8 @@ from ...common.database import db
driver = get_driver() driver = get_driver()
config = driver.config config = driver.config
logger = get_module_logger("chat_utils")
def db_message_to_str(message_dict: Dict) -> str: def db_message_to_str(message_dict: Dict) -> str:

View File

@@ -7,13 +7,16 @@ from typing import Optional, Union
from PIL import Image from PIL import Image
import io import io
from loguru import logger
from nonebot import get_driver from nonebot import get_driver
from ...common.database import db from ...common.database import db
from ..chat.config import global_config from ..chat.config import global_config
from ..models.utils_model import LLM_request from ..models.utils_model import LLM_request
from src.common.logger import get_module_logger
logger = get_module_logger("chat_image")
driver = get_driver() driver = get_driver()
config = driver.config config = driver.config

View File

@@ -7,7 +7,9 @@ import jieba
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import networkx as nx import networkx as nx
from dotenv import load_dotenv from dotenv import load_dotenv
from loguru import logger from src.common.logger import get_module_logger
logger = get_module_logger("draw_memory")
# 添加项目根目录到 Python 路径 # 添加项目根目录到 Python 路径
root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../..")) root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../.."))

View File

@@ -3,7 +3,6 @@ import datetime
import math import math
import random import random
import time import time
import os
import jieba import jieba
import networkx as nx import networkx as nx
@@ -18,14 +17,9 @@ from ..chat.utils import (
text_to_vector, text_to_vector,
) )
from ..models.utils_model import LLM_request 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("memory_sys")
# 配置日志
log_module = LogModule()
logger = log_module.setup_logger(LogClassification.MEMORY)
logger.info("初始化记忆系统")
class Memory_graph: class Memory_graph:

View File

@@ -5,7 +5,7 @@ from datetime import datetime
from typing import Tuple, Union from typing import Tuple, Union
import aiohttp import aiohttp
from loguru import logger from src.common.logger import get_module_logger
from nonebot import get_driver from nonebot import get_driver
import base64 import base64
from PIL import Image from PIL import Image
@@ -16,6 +16,8 @@ from ..chat.config import global_config
driver = get_driver() driver = get_driver()
config = driver.config config = driver.config
logger = get_module_logger("model_utils")
class LLM_request: class LLM_request:
# 定义需要转换的模型列表,作为类变量避免重复 # 定义需要转换的模型列表,作为类变量避免重复

View File

@@ -4,7 +4,9 @@ import time
from dataclasses import dataclass from dataclasses import dataclass
from ..chat.config import global_config 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 @dataclass
class MoodState: class MoodState:

View File

@@ -5,7 +5,9 @@ import platform
import os import os
import json import json
import threading import threading
from loguru import logger from src.common.logger import get_module_logger
logger = get_module_logger("remote")
# UUID文件路径 # UUID文件路径
UUID_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "client_uuid.json") UUID_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "client_uuid.json")
@@ -30,9 +32,9 @@ def get_unique_id():
try: try:
with open(UUID_FILE, "w") as f: with open(UUID_FILE, "w") as f:
json.dump({"client_id": client_id}, f) json.dump({"client_id": client_id}, f)
print("已保存新生成的客户端ID到本地文件") logger.info("已保存新生成的客户端ID到本地文件")
except IOError as e: except IOError as e:
print(f"保存UUID时出错: {e}") logger.error(f"保存UUID时出错: {e}")
return client_id return client_id

View File

@@ -3,13 +3,15 @@ import json
import re import re
from typing import Dict, Union from typing import Dict, Union
from loguru import logger
from nonebot import get_driver from nonebot import get_driver
from src.plugins.chat.config import global_config from src.plugins.chat.config import global_config
from ...common.database import db # 使用正确的导入语法 from ...common.database import db # 使用正确的导入语法
from ..models.utils_model import LLM_request from ..models.utils_model import LLM_request
from src.common.logger import get_module_logger
logger = get_module_logger("scheduler")
driver = get_driver() driver = get_driver()
config = driver.config config = driver.config

View File

@@ -3,10 +3,11 @@ import time
from collections import defaultdict from collections import defaultdict
from datetime import datetime, timedelta from datetime import datetime, timedelta
from typing import Any, Dict from typing import Any, Dict
from loguru import logger from src.common.logger import get_module_logger
from ...common.database import db from ...common.database import db
logger = get_module_logger("llm_statistics")
class LLMStatistics: class LLMStatistics:
def __init__(self, output_file: str = "llm_statistics.txt"): def __init__(self, output_file: str = "llm_statistics.txt"):

View File

@@ -2,7 +2,9 @@ import asyncio
import random import random
import time import time
from typing import Dict 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 from ..chat.config import global_config

View File

@@ -1,11 +1,13 @@
from typing import Optional from typing import Optional
from loguru import logger from src.common.logger import get_module_logger
from ..chat.config import global_config from ..chat.config import global_config
from .mode_classical import WillingManager as ClassicalWillingManager from .mode_classical import WillingManager as ClassicalWillingManager
from .mode_dynamic import WillingManager as DynamicWillingManager from .mode_dynamic import WillingManager as DynamicWillingManager
from .mode_custom import WillingManager as CustomWillingManager from .mode_custom import WillingManager as CustomWillingManager
logger = get_module_logger("willing")
def init_willing_manager() -> Optional[object]: def init_willing_manager() -> Optional[object]:
""" """
根据配置初始化并返回对应的WillingManager实例 根据配置初始化并返回对应的WillingManager实例