Build log(构建日志)
一个 build log 是构建的增强控制台输出。 它由在构建过程中发生的事件的结构化列表表示。 通常,它包括 TeamCity 执行的操作条目和在构建过程中启动的进程的输出。 TeamCity 捕获进程输出,并以一种内部格式存储,以便进行分层显示。
查看构建日志
要查看完整的日志详细信息,请导航到 构建结果 页面并切换到 构建日志 标签页。 在此标签页中,您有以下选项来查看日志:
全部展开 — 展开所有嵌套的日志消息。
全部折叠—— 折叠所有嵌套的日志信息。
查看过滤器 —— 默认为 所有消息。 您可以使用此按钮来筛选错误或重要的消息。 您也可以选择 Verbose 模式,以查看最详细的日志级别。
启用软换行—— 在构建日志面板中换行日志线。
启用相对时间 — 显示相对于构建开始时间的时间戳值,而不是绝对时间。
您可以点击下载日志下拉菜单并选择所需格式,以文本形式或作为 .zip
归档下载完整构建日志。
与日志分析工具的集成
如果您希望第三方日志分析工具接收 TeamCity 构建生成的日志,那么请设置针对以下 URL 的集成:
http(s)://<SERVER_URL>/downloadBuildLog.html?buildId=<ID>
— 如果您的日志分析工具使用 访问令牌 在 TeamCity 中进行身份验证。http(s)://<SERVER_URL>/httpAuth/downloadBuildLog.html?buildId=<ID>
— 如果该工具使用标准的用户名 / 密码凭据进行身份验证。
例如,对以下URL的请求将会下载内部ID为“4102”的构建的日志:
请注意,构建 ID 是独特的值,不等于构建号。 您可以从构建结果页面的 URL ( ?buildTab=...
参数之前的整数值)中获取构建 ID。
要通过 REST API 检索构建 ID ,请向 /app/rest/builds
端点发送请求。 您可以使用各种 locators 来搜索特定的构建。 例如,以下请求会返回属于特定构建配置的构建:
附加的 URL 参数
获取构建日志的纯文本格式
向 http(s)://<SERVER_URL>/downloadBuildLog.html?buildId=<ID>
URL 发送请求将返回一个设置了 Content-Disposition 标头为 "attachment" 的响应:
这个头部强制现代浏览器将所需的构建日志作为附件下载。 如果您想在不下载的情况下在浏览器标签页中打开日志的内容,可以在您的 URL 中添加 &plain=true
参数。 例如:
目标构建日志的内容以纯文本形式存在于响应体内。
下载存档日志
将 已归档=true
参数添加到 URL 中,以便以 .zip
归档文件的形式下载目标日志文件。 例如:
修改 DateTime 模式
默认情况下,构建日志中的时间戳是以 "HH:mm:ss" 格式编写的。 您可以添加 dateFormat=<value>
参数到 URL 来修改 DateTime 模式。 自定义模式必须遵循 Java SimpleDateFormat 规范。
例如:
定制日志输出
您可以使用 服务消息 修改日志输出。 这包括将日志条目分组到块中,处理并行消息流,更改日志消息的严重性等等。
构建日志大小
建议保持构建日志的简洁,并调整构建脚本以减少输出的内容。 大型构建日志在浏览器中查看困难,并且在构建运行期间,从代理到服务器加载 TeamCity 基础设施管道构建消息。
建议只打印出理解构建进度和构建失败所需的消息到输出中。 剩余的信息应该被流式传输到日志文件中,然后该文件应被发布为构建工件。 好的"构建日志大小最多是兆字节。
部分构建日志显示
在打开大型构建日志时,TeamCity会显示其中的一部分,以避免浏览器挂起。 您可以通过点击相应的链接来查看完整的构建日志。
默认情况下,显示阈值设定为 5M 字符,可以通过 teamcity.buildLog.sizeThreshold.chars
内部属性 (对运行中的构建日志和带有状态的日志链接(例如,直接链接到消息)不适用)进行调整。
ANSI 风格的构建日志着色
TeamCity 构建日志默认呈现可点击的超链接,并支持 ANSI 风格的转义颜色代码:如果您的工具产生了彩色的控制台输出,在 TeamCity 的构建日志中您将看到。 请查看相关的功能请求,以获取 所支持序列的完整列表。
要禁用颜色,请设置 teamcity.buildLog.ansiColoring.enabled=false
内部属性。