这个修改的主要优点是:

1. 在插件初始化之前就进行检查,避免不必要的资源消耗
2. 保持了配置文件的控制作用
3. 通过日志清晰地显示插件未加载的原因
需要注意的是,这个修改假设所有插件的配置文件都遵循相同的结构(即使用插件类名作为配置节点)。如果有些插件使用不同的配置结构,可能需要调整检查逻辑。
This commit is contained in:
liuwei
2025-04-17 14:58:16 +08:00
parent 65ff7b5ba3
commit 0314a251e6

View File

@@ -294,11 +294,18 @@ class PluginManager:
# 设置插件路径
plugin.set_plugin_path(plugin_path)
# 在load_plugin方法中找到加载配置后的位置约在第298行
# 加载插件配置
if not plugin.load_config():
self.LOG.error(f"PluginManager插件模块 {module_name} 加载配置失败")
return None
# 添加检查enable状态的代码
plugin_config = plugin._config.get(plugin.__class__.__name__, {})
if not plugin_config.get("enable", True): # 默认为True如果没有配置
self.LOG.info(f"PluginManager插件 {module_name} 已禁用,跳过加载")
return None
# 初始化插件
if not plugin.initialize(self.system_context):
self.LOG.error(f"PluginManager插件模块 {module_name} 初始化失败")