过滤器模式定义希望在步骤输出中进行匹配的字符串或表达式。所创建的每个过滤器模式都与单个过滤器操作相关联。过滤器模式和操作都定义在过滤器日志集中。在日志过滤器中包含多个过滤器模式并将其应用于单个步骤的输出,这一能力使您无需构造复杂的表达式即可以使用多个搜索条件。
要创建日志过滤器,请选择日志过滤器。
。有关详细信息,请参阅查看以下过滤器模式创建准则:
下表显示了一些标准正则表达式的语法。
表达式 |
匹配项 |
---|---|
Production |
匹配字符串中任意位置的 Production。 |
^Production |
匹配字符串开始位置的 Production。 |
Error:.*[0-9]$ |
匹配符合以下条件的行:含有 Error,其后跟随任意字符串,并且字符串尾部以一个数字终止。 |
[Ww]arning |
匹配 Warning 或 warning。 |
.* |
匹配任意字符 0 次或多次。 点号(.)匹配任意字符,星号(*)匹配任意字符 0 次或多次。 |
要构造模式过滤器,了解系统如何搜索模式匹配项非常重要。
对于每一个输出行,系统将按顺序根据所有过滤器模式来检查匹配项;在找到匹配项时,它将停止,并继续处理下一个模式。所以,如果模式在一行中出现两次,系统可能不会发现。例如,考虑以下输出行:
exception retrying exception
使用下表中的过滤器模式,系统将匹配第一个 exception,并将步骤结果设置为“失败”,匹配 retrying 并将步骤结果设置为“通过”,然后继续处理下一行,而不匹配第二个 exception。
过滤器模式 | 过滤器操作 | 示例描述 |
---|---|---|
[Ee]xception [Rr]etrying | 设置失败 - 失败 清除失败 - 通过 | 该模式对于 Java 项目非常有用;它在产生异常时将步骤设为失败,但在重试时清除失败。如果重试失败,那么将产生新的异常,所以命令的最终状态是有效的。 |
解决该问题的一种方式是将表中的过滤器模式替换为以下过滤器模式:
retrying.*exception