refactor(discord-cross): 使用模块专用日志记录器替换全局日志记录器

将各模块中的全局日志记录器替换为模块专用日志记录器,以提供更清晰的日志来源标识
同时在适配器中添加会话状态检查和重连机制,提升消息发送的可靠性
This commit is contained in:
2026-03-21 18:03:26 +08:00
parent b016632b74
commit 08f1ed46d2
9 changed files with 58 additions and 20 deletions

View File

@@ -3,11 +3,14 @@
跨平台消息互通插件入口
"""
import asyncio
from core.utils.logger import logger
from core.utils.logger import ModuleLogger
from .config import config
from .subscription import start_cross_platform_subscription, stop_cross_platform_subscription
from .handlers import *
# 创建模块专用日志记录器
logger = ModuleLogger("CrossPlatform")
# 插件加载时自动启动和加载配置
try:
asyncio.create_task(config.reload())

View File

@@ -4,7 +4,10 @@
"""
import os
from typing import Dict, Any
from core.utils.logger import logger
from core.utils.logger import ModuleLogger
# 创建模块专用日志记录器
logger = ModuleLogger("CrossPlatformConfig")
class CrossPlatformConfig:
def __init__(self):

View File

@@ -9,11 +9,14 @@ from core.managers.command_manager import matcher
from models.events.message import GroupMessageEvent, MessageEvent
from models.message import MessageSegment
from core.permission import Permission
from core.utils.logger import logger
from core.utils.logger import ModuleLogger
from .config import config
from .parser import parse_forward_nodes
from .sender import forward_discord_to_qq, forward_qq_to_discord
# 创建模块专用日志记录器
logger = ModuleLogger("CrossPlatform")
async def handle_discord_message(
username: str,
discriminator: str,

View File

@@ -7,9 +7,12 @@ import json
import re
from typing import Dict, List, Any
from models.message import MessageSegment
from core.utils.logger import logger
from core.utils.logger import ModuleLogger
from .config import config
# 创建模块专用日志记录器
logger = ModuleLogger("CrossPlatformParser")
def extract_text_only(content: str) -> str:
"""从消息内容中提取纯文本,过滤掉非文本标记"""

View File

@@ -4,12 +4,15 @@
"""
import json
from typing import List
from core.utils.logger import logger
from core.utils.logger import ModuleLogger
from core.managers.redis_manager import redis_manager
from .config import config
from .translator import translate_with_deepseek
from .parser import format_discord_to_qq_content, format_qq_to_discord_content, extract_text_only
# 创建模块专用日志记录器
logger = ModuleLogger("CrossPlatformSender")
async def send_to_discord(channel_id: int, content: str, attachments: List[dict] = None, embed: dict = None):
"""发送消息到 Discord 频道"""
try:

View File

@@ -4,11 +4,14 @@
"""
import json
import asyncio
from core.utils.logger import logger
from core.utils.logger import ModuleLogger
from core.managers.redis_manager import redis_manager
from .config import config
from .sender import forward_discord_to_qq, forward_qq_to_discord
# 创建模块专用日志记录器
logger = ModuleLogger("CrossPlatformSubscription")
async def cross_platform_subscription_loop():
"""Redis 跨平台消息订阅循环"""
if redis_manager.redis is None:

View File

@@ -3,9 +3,12 @@
跨平台消息互通插件翻译模块
"""
from typing import Dict, List
from core.utils.logger import logger
from core.utils.logger import ModuleLogger
from .config import config
# 创建模块专用日志记录器
logger = ModuleLogger("CrossPlatformTranslator")
# 翻译上下文缓存每个通道15条消息
TRANSLATION_CONTEXT_CACHE: Dict[str, List[Dict[str, str]]] = {}
MAX_CONTEXT_MESSAGES = 15