You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rundeck多行正则表达式日志过滤器使用问题求助

解决Rundeck多行日志过滤与全局变量传递问题

正则表达式调整

你的需求是捕获所有不以SYSTEM-INFO:、No或Matched开头的行,原正则仅处理单行且未适配Rundeck的多行模式,调整后的正则如下:

(?m)^(?!SYSTEM-INFO:|No|Matched).+
  • (?m):启用多行模式,让^和$匹配每行的开头与结尾
  • (?!...):负向前瞻规则,精准排除指定前缀的行
  • .+:匹配非空行(若需保留空行可替换为.*)

Rundeck过滤器配置要点

  • 选用多行正则表达式过滤器:在作业步骤的「日志过滤器」中选择该类型,填入调整后的正则,设置变量名(如captured_target_lines),并勾选「将匹配项存储为多值数组」,确保所有符合条件的行都被收集。
  • 放弃键值过滤器:键值过滤器默认按单行键值对结构匹配,仅能捕获最后一行符合条件的内容,完全不适用于你的多行批量捕获需求。

全局变量传递与后续步骤使用

  • 捕获的多值数组可通过${data.captured_target_lines}在后续步骤中直接引用。
  • 若需将数组转为单行文本(用于参数表单),可使用Rundeck内置函数拼接:
    ${util.join(data.captured_target_lines, "\n")}
    
    该操作会把所有捕获的行用换行符连接成完整字符串,直接作为参数表单的默认值或传递内容。

测试验证

先在本地正则调试工具中验证正则是否匹配所有目标行,再在Rundeck中测试过滤器输出,确认变量已正确捕获所需内容。

内容的提问来源于stack exchange,提问作者cviper40

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:57:18