首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins日志分析规则

Jenkins日志分析规则
EN

Stack Overflow用户
提问于 2014-09-11 14:42:14
回答 1查看 5K关注 0票数 4

我使用Jenkins日志分析器插件作为构建后步骤来检查生成后的错误。

我的所有规则都在一个文件中,该表示法支持Java regex嵌入标志表达式:

代码语言:javascript
复制
# list keywords or regex for ERRORS:
error /(?i)error/
error / (?i)error/
error /(?i)error /
error / (?i)error /

error /(?i)error:/
error / (?i)error:/
error /(?i)error: /
error / (?i)error: /

error /Unknown database/
error /Connect failed/
error /(?i)undefined/
error /Call Stack:/



# list keywords or regex for WARNINGS:
warning /(?i)^warning/
warning /(?i)warning/
warning /(?i)warning:/

我的问题是,我不太擅长正则表达式,每次遇到包含“错误”的单词时,都会触发警报。例如: T**error**或Biot**error*(我知道它可能来自于我的坏表达式,但如果我将“生物恐怖”或“恐怖”标记为警告,它仍然会将它们改写为错误并触发警报)。

我的问题是:

  1. 排除我定义的某些词的正确方法是什么?
  2. 这能实现吗?(我认为这就是插件的工作方式,因为如果我将必要的单词标记为警告,它仍会将它们突出显示为错误)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-11 14:54:30

您想要的是一个单词边界锚,它是\b在大多数regex风格。它是零宽度,所以它不匹配任何字符,只是从非文字到文字字符的切换。

这样你的对手就会变成:

error /(?i)\berror\b/

这个regex处理的所有案例看起来都是单独处理的:空格、前后空格、后冒号等等。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25790448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档