Appveyor构建失败后如何查看生成的日志文件?
在Appveyor中查看构建生成的本地日志文件
我完全懂你这种Travis跑顺但Windows环境掉链子的头疼!要查看你提到的C:\stack.stack-work\logs\yaml-0.8.28.log文件,有两种实用的方法,我给你一步步说:
方法1:将日志文件上传为Appveyor Artifacts(推荐)
Appveyor不会自动收集构建生成的本地文件,你需要在构建脚本里配置上传,这样构建结束后就能在页面上下载查看:
- 打开你的项目根目录下的
appveyor.yml文件 - 添加一段脚本,在构建结束后(不管成功还是失败)上传指定日志文件。如果想一次性上传所有日志,用PowerShell命令更高效:
on_finish: - ps: Get-ChildItem C:\stack.stack-work\logs\*.log | ForEach-Object { Push-AppveyorArtifact $_.FullName }
如果只需要上传单个文件,可以简化成:
on_finish: - appveyor PushArtifact C:\stack.stack-work\logs\yaml-0.8.28.log
- 提交修改后重新触发构建,等构建结束后:
- 进入该构建的详情页面
- 点击顶部的Artifacts选项卡,就能看到上传的日志文件,点击即可下载查看
方法2:直接在构建日志中输出文件内容
如果不想等构建结束再看,也可以在构建过程中把日志内容打印到控制台,这样在构建日志里就能直接找到:
在appveyor.yml的构建脚本部分,添加输出日志的命令:
- 用CMD命令(适合简单场景):
build_script: # 你的原有构建命令(比如stack build之类的) - type C:\stack.stack-work\logs\yaml-0.8.28.log
- 用PowerShell命令(格式更清晰):
build_script: # 你的原有构建命令 - ps: Get-Content C:\stack.stack-work\logs\yaml-0.8.28.log
这样构建时,日志内容会直接输出到Appveyor的构建日志里,你就能在构建过程中或者结束后直接查看了。
另外,关于Windows环境的问题,等你拿到日志内容后,就能针对性排查路径、依赖兼容性这类Windows特有的问题啦~
内容的提问来源于stack exchange,提问作者Han




