log parser plugin 是 jenkins 内置日志解析插件,通过正则匹配构建日志,实现错误高亮、分类聚合与结构化展示;需全局配置规则文件路径并编写 error/failure/warning 三段式规则,支持 pipeline 与 freestyle 项目自动生效。

Log Parser Plugin 是 Jenkins 中专为构建日志结构化分析设计的插件,它不依赖外部服务,直接在流水线执行后对 console output 进行正则匹配、分类和高亮,适合提取编译错误、测试失败、依赖缺失等核心错误特征。
安装与基础配置
进入 Manage Jenkins → Manage Plugins → Available,搜索并安装 Log Parser(需重启 Jenkins)。安装后,在 Manage Jenkins → Configure System 页面找到 Console Output Parsing 区域,启用并设置默认解析规则文件路径(如 /var/lib/jenkins/log-parsing-rules.txt)。
编写规则文件提取错误特征
规则文件是纯文本,按“类别 → 正则 → 消息”三段式定义。例如:
# 编译错误(高亮为 ERROR)
error /.*\[ERROR\].*maven-compiler-plugin.*/ "Maven 编译失败:${1}"
error /.*cannot find symbol.*line \d+/ "Java 符号未定义:${0}"
<h1>测试失败(归类为 FAILURE)</h1><p>failure /.<em>Tests run: \d+, Failures: (\d+), Errors: (\d+).</em>/ "JUnit 执行失败:${1} failures, ${2} errors"
failure /.<em>BUILD FAILED.</em>test.*failed/ "构建因测试失败终止"</p><h1>网络或权限异常(单独标记为 WARNING)</h1><p>warning /.<em>Connection refused.</em>git.<em>/ "Git 连接被拒绝"
warning /.</em>Permission denied.*.ssh\/id_rsa/ "SSH 密钥权限不足"</p>每行以 error、failure 或 warning 开头,后接正则表达式(支持捕获组),最后用引号包裹提示消息。插件会自动将匹配行标红、加粗,并聚合到构建页面顶部的 Parsed Console Output 面板。
在流水线中启用解析
无需修改构建脚本,只要全局启用插件即可对所有 Pipeline 和 Freestyle 项目生效。若需按任务定制,可在 Job 配置页勾选 Enable log parsing,并指定该任务专用的规则文件路径(支持 Jenkins 凭据绑定变量,如 ${JENKINS_HOME}/jobs/${JOB_NAME}/log-rules.txt)。
结合 post 段增强响应
在 Pipeline 的 post { failure { ... } } 中,可调用插件生成的解析结果做判断:
- 使用
sh 'grep -q "Maven 编译失败" ${WORKSPACE}/build-log-parsed-summary.log'(需配合脚本导出) - 更推荐方式:通过 Jenkins REST API 获取解析摘要:
curl -s "$JENKINS_URL/job/$JOB_NAME/$BUILD_NUMBER/parsed-console-output/" - 匹配到特定错误模式后,自动触发钉钉/邮件通知,或归档相关日志片段到共享目录
不复杂但容易忽略的是:规则正则必须能匹配实际 console output 的原始格式(含 ANSI 转义符时建议先用 sed 's/\x1b\[[0-9;]*m//g' 清理),且首次部署后需手动触发一次构建验证规则是否生效。











