Build log(构建日志)
一个 build log 是构建的增强控制台输出。 它由在构建过程中发生的事件的结构化列表表示。 通常,它包括 TeamCity 执行的操作条目和在构建过程中启动的进程的输出。 TeamCity 捕获进程输出,并以一种内部格式存储,以便进行分层显示。
查看构建日志
要查看完整的日志详细信息,请导航到 构建结果 页面并切换到 Build log(构建日志) 选项卡。
此选项卡显示以下 UI 元素:
全部展开/全部收起 — 展开和折叠所有嵌套的日志消息。
所有消息/错误/重要消息/详细 — 使用此选择器按类型筛选构建日志消息。 在调试更晦涩且模糊的构建失败时,选择“Verbose”以查看最详细、未过滤的日志。
查看 — 包括在构建日志面板中换行日志行的选项,并显示相对于构建开始时间的时间戳,而不是绝对时间。
下载日志 — 允许您以选定格式下载完整的构建日志。
进入全屏 — 在与浏览器大小匹配的模态面板中打开构建日志。
与日志分析工具的集成
如果您希望第三方日志分析工具接收 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🇲🇲ss"格式书写。 您可以添加 dateFormat=<value> 参数到 URL 来修改 DateTime 模式。 自定义模式必须遵循 Java SimpleDateFormat 规范。
例如:
定制日志输出
您可以使用 服务消息 修改日志输出。 这包括将日志条目分组到块中,处理并行消息流,更改日志消息的严重性等等。
构建日志大小
建议保持构建日志的简洁,并调整构建脚本以减少输出的内容。 大型构建日志在浏览器中查看困难,并且在构建运行期间,从代理到服务器加载 TeamCity 基础设施管道构建消息。
建议只打印出理解构建进度和构建失败所需的消息到输出中。 剩余的信息应该被流式传输到日志文件中,然后该文件应被发布为构建工件。 好的"构建日志大小最多是兆字节。
部分构建日志显示
在打开大型构建日志时,TeamCity会显示其中的一部分,以避免浏览器挂起。 您可以通过点击相应的链接来查看完整的构建日志。
默认情况下,显示阈值设定为 5M 字符,可以通过 teamcity.buildLog.sizeThreshold.chars 内部属性 (对运行中的构建日志和带有状态的日志链接(例如,直接链接到消息)不适用)进行调整。
ANSI 风格的构建日志着色
TeamCity 构建日志默认呈现可点击的超链接,并支持 ANSI 风格的转义颜色代码:如果您的工具产生了彩色的控制台输出,在 TeamCity 的构建日志中您将看到。 请查看相关的功能请求,以获取 所支持序列的完整列表。
要禁用颜色,请设置 teamcity.buildLog.ansiColoring.enabled=false 内部属性。