update branch
This commit is contained in:
@@ -104,7 +104,7 @@ class PluginLoaderEnhancer:
|
||||
try:
|
||||
getattr(instance, method)()
|
||||
except Exception as e:
|
||||
ProLogger.error("safe", f"{name} {action}失败: {e}")
|
||||
ProLogger.error("safe", f"{name} {action}失败: {type(e).__name__}: {e}")
|
||||
self._on_plugin_error(name, info, str(e))
|
||||
return
|
||||
|
||||
@@ -117,7 +117,7 @@ class PluginLoaderEnhancer:
|
||||
info["info"].error_count = 0
|
||||
ProLogger.info("safe", f"{name} {action}成功")
|
||||
except Exception as e:
|
||||
ProLogger.error("safe", f"{name} {action}失败: {e}")
|
||||
ProLogger.error("safe", f"{name} {action}失败: {type(e).__name__}: {e}")
|
||||
self._on_plugin_error(name, info, str(e))
|
||||
|
||||
def _on_plugin_error(self, name: str, info: dict, error: str):
|
||||
|
||||
@@ -128,7 +128,7 @@ class ProPluginManager:
|
||||
return instance
|
||||
|
||||
except Exception as e:
|
||||
ProLogger.error("loader", f"加载失败 {plugin_dir.name}: {e}")
|
||||
ProLogger.error("loader", f"加载失败 {plugin_dir.name}: {type(e).__name__}: {e}")
|
||||
return None
|
||||
|
||||
def init_and_start_all(self):
|
||||
@@ -160,7 +160,7 @@ class ProPluginManager:
|
||||
info["info"].status = "initialized"
|
||||
ProLogger.info("manager", f"已初始化: {name}")
|
||||
except Exception as e:
|
||||
ProLogger.error("manager", f"初始化失败 {name}: {e}")
|
||||
ProLogger.error("manager", f"初始化失败 {name}: {type(e).__name__}: {e}")
|
||||
info["info"].status = "error"
|
||||
info["info"].error_count += 1
|
||||
info["info"].last_error = str(e)
|
||||
@@ -177,7 +177,7 @@ class ProPluginManager:
|
||||
self._health_checker.add_plugin(name, instance)
|
||||
ProLogger.info("manager", f"已启动: {name}")
|
||||
except Exception as e:
|
||||
ProLogger.error("manager", f"启动失败 {name}: {e}")
|
||||
ProLogger.error("manager", f"启动失败 {name}: {type(e).__name__}: {e}")
|
||||
info["info"].status = "error"
|
||||
info["info"].error_count += 1
|
||||
info["info"].last_error = str(e)
|
||||
@@ -199,7 +199,7 @@ class ProPluginManager:
|
||||
info["info"].status = "stopped"
|
||||
ProLogger.info("manager", f"已停止: {name}")
|
||||
except Exception as e:
|
||||
ProLogger.warn("manager", f"停止异常 {name}: {e}")
|
||||
ProLogger.warn("manager", f"停止异常 {name}: {type(e).__name__}: {e}")
|
||||
|
||||
def _on_plugin_failure(self, name: str):
|
||||
"""插件失败回调"""
|
||||
@@ -249,7 +249,7 @@ class ProPluginManager:
|
||||
getattr(info["instance"], setter)(dep_instance)
|
||||
ProLogger.info("inject", f"{name} <- {actual_dep}")
|
||||
except Exception as e:
|
||||
ProLogger.error("inject", f"注入失败 {name}.{setter}: {e}")
|
||||
ProLogger.error("inject", f"注入失败 {name}.{setter}: {type(e).__name__}: {e}")
|
||||
|
||||
def _get_ordered_plugins(self) -> list[str]:
|
||||
"""获取插件顺序"""
|
||||
|
||||
@@ -29,7 +29,7 @@ class FallbackHandler:
|
||||
self._cache[plugin_name] = result
|
||||
return result
|
||||
except Exception as e:
|
||||
ProLogger.warn("fallback", f"插件 {plugin_name} 执行失败,触发降级: {e}")
|
||||
ProLogger.warn("fallback", f"插件 {plugin_name} 执行失败,触发降级: {type(e).__name__}: {e}")
|
||||
return self._apply_fallback(plugin_name)
|
||||
|
||||
def _apply_fallback(self, plugin_name: str) -> Any:
|
||||
@@ -45,5 +45,5 @@ class FallbackHandler:
|
||||
try:
|
||||
return self.alternative_func()
|
||||
except Exception as e:
|
||||
ProLogger.error("fallback", f"备选方案也失败了: {e}")
|
||||
ProLogger.error("fallback", f"备选方案也失败了: {type(e).__name__}: {e}")
|
||||
return None
|
||||
|
||||
@@ -46,7 +46,7 @@ class AutoRecovery:
|
||||
return new_instance
|
||||
|
||||
except Exception as e:
|
||||
ProLogger.error("recovery", f"恢复插件 {name} 失败: {e}")
|
||||
ProLogger.error("recovery", f"恢复插件 {name} 失败: {type(e).__name__}: {e}")
|
||||
|
||||
self._recovery_attempts[name] = attempts + 1
|
||||
return False
|
||||
|
||||
@@ -55,7 +55,7 @@ class HealthChecker:
|
||||
else:
|
||||
self._failure_counts[name] = 0
|
||||
except Exception as e:
|
||||
ProLogger.error("health", f"插件 {name} 健康检查失败: {e}")
|
||||
ProLogger.error("health", f"插件 {name} 健康检查失败: {type(e).__name__}: {e}")
|
||||
self._on_failure(name)
|
||||
|
||||
def _on_failure(self, name: str):
|
||||
|
||||
Reference in New Issue
Block a user