百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
返回工具页/返回 Issues 列表
#10457·nocobase

[错误]: @nocobase/plugin-workflow-request-interceptor 中对虚拟/自定义资源的误报警告过多

作者: STlxx-lin创建于 2026年9月4日更新于 2026年9月5日

* 描述错误

当启用了 “%nocobase/plugin-workflow-request-interceptor”(工作流程:行动前事件)插件时,任何API请求虚拟或自定义资源(例如/api/charts:queryData'、/api/onlineContent:heartbeat'、/api/loggerProgres:tail')都会触发过度的[warn]'日志: 贾森 {"级别":"警告","消息":"[工作流程预操作]:集合"图表"没有找到",模块:"图表",子模块:"queryData"}

由于仪表板图表的民意测验和客户心跳定期汇报,系统日志文件( " system YYYY-MM-DD.log " )被上百克/上千克的这些虚假阳性警告所淹没,使得生产日志难以监测并不必要的膨胀.

根原因 :
在“nocobase/plugin-workflow-request-interceptor/dist/server/requestInterception Trigger.js”中:
[JavaScript]
Const Collection = 数据来源. CollectionManager.get Collection(资源Name) ;
如果 (! 收集) {
上下文.logger.warn(`[Workflow pre-action]:"${资源Name}"没有找到');
返回下一个( C) ;
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

拦截器假定进入该系统的每一行动请求都必须与物理数据库“收集”对应。 然而,NocoBase本土支持通过"app.resource (.)"(如"图表",或自定义插件API端点)注册的虚拟/海关资源. 当一项行动被发送到一个没有数据库表格收集的自定义资源时,记录 " 警告 " 是虚假阳性,造成严重的木材污染。

□ 环境

  • NocoBase版本:2.1.x/ 2.2.x(例如2.1.39、2.2.0、2.2.5)
  • 数据库类型和版本:SQLite / MySQL / PostgreSQL
  • OS: Linux / Docker / 视窗
  • 部署方法:Docker / Git源代码
  • 节点JS版本:18x/20x

如何重现#

  1. 启用“nocobase/plugin-workflow-request-interceptor”插件。
  2. 通过app.resource(.) ' 登录任何包含图表的仪表板(触发/api/charts:queryData'),或通过`app.resource(.)'登记任何自定义资源,并向其发送请求。
  3. 检查服务器日志(`存储/日志/主/系统 YYY-MM-DD.log')。
  4. 您将看到高频警告日志:`[工作流程预操作]:未找到的"图表"。

□ 预期行为

当data source.collectionManager.get Collection(资源Name)'返回虚拟资源的无效/未定义时,截取器应静默地通过(return next()')或以debug'级别登录,而不是在生产时记录warn'警报。

□ 建议修补

将日志级别从 “ warn” 改为“ debug” (或悄悄返回下一个( ) ):

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? Const Collection = 数据来源. CollectionManager.get Collection(资源Name) ; 如果 (! 收集) {

  • 上下文.logger.warn(`[Workflow pre-action]:"${资源Name}"没有找到');
  • 上下文. logger. debug( `[ Workflow pre- action] : collection "${resourceName}" 没有找到' ); 返回下一个( C) ; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

内容来源: nocobase/nocobase

查看 GitHub 原文在 GitHub 查看讨论