Asciinema - 终端日志记录神器,开发者的福音

我们在做机器学习/深度学习开发的时候,经常会产生如下所示的大量日志:

这些日志如果不保存,转瞬即逝,当我们想要回去翻看某一轮训练日志的时候,会很遗憾的发现找不到了。

现在有了这个 Asciinema 这个神器,我们不仅能找到并导出当时的终端日志,还能够"重播日志"并"分享日志"。非常牛逼:

Asciinema 是使用Python开发的工具,请按下面的流程安装并使用。

1.准备

使用如下命令进行安装

复制代码
pip install asciinema

2.使用

终端输入如下命令,记录你的第一个终端日志:

复制代码
asciinema rec first.cast

输入完成后会显示如下的提示:

ruby 复制代码
(gs3_9) zjr@sgd-linux-1:~/cnn_test$ asciinema rec first.cast
  
asciinema: recording asciicast to first.cast
asciinema: press <ctrl-d> or type "exit" when you're done

意思就是日志会被保存在当前文件夹下的first.cast,如果你想结束录制,按 Ctrl + D 即可。

记录完毕后,以双倍速度重播该日志:

复制代码
asciinema play -s 2 first.cast

或以正常速度但空闲时间限制为 2 秒:

css 复制代码
asciinema play -i 2 first.cast

你也可以在启动终端日志录制时传递 -i 2 给 asciinema rec,将其永久设置在录制中:

css 复制代码
asciinema rec first.cast -i 2

空闲时间的限制使录制更有趣。试试吧。

如果你想在网络上观看和分享,请上传:

复制代码
asciinema upload first.cast

这个命令会将日志记录上传到 asciinema.org,此外,它会打印一个秘密链接,你可以使用该链接在网络浏览器中观看你录制的终端日志:

你可以通过省略文件名一步录制和上传终端的日志:

复制代码
asciinema rec

录制完成后,系统会要求你确认上传。未经你的同意,不会向任何地方发送任何内容。

3.播放日志

查看日志有四种方式,最普通的是通过本地文件进行终端重播:

bash 复制代码
asciinema play /path/to/asciicast.cast

以下键盘快捷键可用:

  • Space- 暂停,
  • .- 按帧步进(暂停时),
  • Ctrl+C- 退出

第二种方式是通过url播放:

ruby 复制代码
asciinema play https://asciinema.org/a/22124.cast
asciinema play http://example.com/demo.cast

这个方式需要你的日志已经上传到asciinema.org中。

第三种方式是通过你自己生成的html页面访问(需要在页面的 HTML 中):

arduino 复制代码
asciinema play http://your_html_path/post.html

第四种方式是通过标准输入输出播放:

bash 复制代码
cat /path/to/asciicast.cast | asciinema play -
# ssh user@host cat asciicast.cast | asciinema play -

可用选项:

  • -i, --idle-time-limit=<sec>- 将重播的终端空闲不动时间闲置为最大<sec>秒数
  • -s, --speed=<factor>- 播放速度

4.导出日志

导出终端日志到文本文件非常简单:

bash 复制代码
asciinema cat existing.cast > terminal_output.txt

所有的终端日志都会被导出到 terminal_output.txt 中,非常方便好用。

以上就是本次分享的所有内容,如果你觉得文章还不错,欢迎关注公众号:Python编程学习圈 ,每日干货分享,或是前往编程学习网,了解更多编程技术知识。

相关推荐
程序猿乐锅4 分钟前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight
code2cat1 小时前
【随笔】连续批处理:长短请求怎样在迭代之间补位
java·人工智能·后端·大语言模型·vllm
掘金者阿豪2 小时前
SQL Server数据迁移完成后,凌晨的数据库告警该怎么查?
前端·后端
鶴哥只手遮天2 小时前
AFSIM 2.9.0 深度解析·进阶卷第 1 章 插件源码精读:16 个 WSF 插件的架构与实现
后端
愚农搬码2 小时前
低代码表单与在线问卷不是一回事:产品定位和技术边界
后端
武子康2 小时前
固定时间步已经开了,为什么游戏回放还会走出不同位置?
人工智能·后端·agent
70后写java的老码农2 小时前
换模型只改三行配置:LangChain4j + Spring Boot 3.5 实战,一次分别接入 9 家模型服务
后端·ai编程
愚农搬码2 小时前
2026 年开源表单设计器选型:哪个更好用?
后端
vipxieliang3 小时前
ValidX 正则表达式预编译优化:Pattern 复用策略
java·spring boot·后端
vipxieliang3 小时前
OpenTelemetry 生产实践:Skyscanner 24 集群管理经验与 Mastodon 小团队方案
后端