TeamCity On-Premises 2024.03 Help

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”的构建的日志:

http://localhost:8111/downloadBuildLog.html?buildId=4102

请注意,构建 ID 是独特的值,不等于构建号。 您可以从构建结果页面的 URL ( ?buildTab=... 参数之前的整数值)中获取构建 ID。

内部构建ID

要通过 REST API 检索构建 ID ,请向 /app/rest/builds 端点发送请求。 您可以使用各种 locators 来搜索特定的构建。 例如,以下请求会返回属于特定构建配置的构建:

/app/rest/builds?locator=buildType:ProjectName_ConfigName

附加的 URL 参数

获取构建日志的纯文本格式

http(s)://<SERVER_URL>/downloadBuildLog.html?buildId=<ID> URL 发送请求将返回一个设置了 Content-Disposition 标头为 "attachment" 的响应:

Content-Disposition: attachment; filename*=UTF-8''ProjectName_ConfigName_BuildNumber.log;

这个头部强制现代浏览器将所需的构建日志作为附件下载。 如果您想在不下载的情况下在浏览器标签页中打开日志的内容,可以在您的 URL 中添加 &plain=true 参数。 例如:

http://localhost:8111/downloadBuildLog.html?buildId=4102&plain=true

目标构建日志的内容以纯文本形式存在于响应体内。

下载存档日志

已归档=true 参数添加到 URL 中,以便以 .zip 归档文件的形式下载目标日志文件。 例如:

http://localhost:8111/downloadBuildLog.html?buildId=4102&archived=true

修改 DateTime 模式

默认情况下,构建日志中的时间戳是以 "HH:mm:ss" 格式编写的。 您可以添加 dateFormat=<value> 参数到 URL 来修改 DateTime 模式。 自定义模式必须遵循 Java SimpleDateFormat 规范。

例如:

http://localhost:8111/downloadBuildLog.html?buildId=4102&dateFormat=yyyy-MM-dd%20HH%3Amm%3Ass%20zz

定制日志输出

您可以使用 服务消息 修改日志输出。 这包括将日志条目分组到块中,处理并行消息流,更改日志消息的严重性等等。

构建日志大小

建议保持构建日志的简洁,并调整构建脚本以减少输出的内容。 大型构建日志在浏览器中查看困难,并且在构建运行期间,从代理到服务器加载 TeamCity 基础设施管道构建消息。

建议只打印出理解构建进度和构建失败所需的消息到输出中。 剩余的信息应该被流式传输到日志文件中,然后该文件应被发布为构建工件。 好的"构建日志大小最多是兆字节。

部分构建日志显示

在打开大型构建日志时,TeamCity会显示其中的一部分,以避免浏览器挂起。 您可以通过点击相应的链接来查看完整的构建日志。

默认情况下,显示阈值设定为 5M 字符,可以通过 teamcity.buildLog.sizeThreshold.chars 内部属性 (对运行中的构建日志和带有状态的日志链接(例如,直接链接到消息)不适用)进行调整。

ANSI 风格的构建日志着色

TeamCity 构建日志默认呈现可点击的超链接,并支持 ANSI 风格的转义颜色代码:如果您的工具产生了彩色的控制台输出,在 TeamCity 的构建日志中您将看到。 请查看相关的功能请求,以获取 所支持序列的完整列表

要禁用颜色,请设置 teamcity.buildLog.ansiColoring.enabled=false 内部属性

最后修改日期: 16日 7月 2024年