Asciinema - 終端日誌記錄神器,開發者的福音

程式設計師小六發表於2022-11-24

我們在做機器學習/深度學習開發的時候,經常會產生如下所示的大量日誌:

圖片

這些日誌如果不儲存,轉瞬即逝,當我們想要回去翻看某一輪訓練日誌的時候,會很遺憾的發現找不到了。

現在有了這個 Asciinema 這個神器,我們不僅能找到並匯出當時的終端日誌,還能夠“重播日誌”並“分享日誌”。非常牛逼:

圖片

Asciinema 是使用Python開發的工具,請按下面的流程安裝並使用。

1.準備

使用如下命令進行安裝

pip install asciinema

2.使用

終端輸入如下命令,記錄你的第一個終端日誌:

asciinema rec first.cast

輸入完成後會顯示如下的提示:

(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 秒:

asciinema play -i 2 first.cast

你也可以在啟動終端日誌錄製時傳遞 -i 2 給 asciinema rec,將其永久設定在錄製中:

asciinema rec first.cast -i 2

空閒時間的限制使錄製更有趣。試試吧。

如果你想在網路上觀看和分享,請上傳:

asciinema upload first.cast

這個命令會將日誌記錄上傳到 asciinema.org,此外,它會列印一個秘密連結,你可以使用該連結在網路瀏覽器中觀看你錄製的終端日誌:

圖片

你可以透過省略檔名一步錄製和上傳終端的日誌:

asciinema rec

錄製完成後,系統會要求你確認上傳。未經你的同意,不會向任何地方傳送任何內容。

3.播放日誌

檢視日誌有四種方式,最普通的是透過本地檔案進行終端重播:

asciinema play /path/to/asciicast.cast

以下鍵盤快捷鍵可用:

  • Space- 暫停,
  • .- 按幀步進(暫停時),
  • Ctrl+C- 退出

第二種方式是透過url播放:

asciinema play https://asciinema.org/a/22124.cast
asciinema play http://example.com/demo.cast

這個方式需要你的日誌已經上傳到asciinema.org中。

第三種方式是透過你自己生成的html頁面訪問(需要<link rel="alternate" type="application/x-asciicast" href="/my/ascii.cast">在頁面的 HTML 中):

asciinema play http://your_html_path/post.html

第四種方式是透過標準輸入輸出播放:

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.匯出日誌

匯出終端日誌到文字檔案非常簡單:

asciinema cat existing.cast > terminal_output.txt

圖片

所有的終端日誌都會被匯出到 terminal_output.txt 中,非常方便好用。

以上就是本次分享的所有內容,如果你覺得文章還不錯,歡迎關注公眾號:Python程式設計學習圈,每日干貨分享,傳送“J”還可領取大量學習資料。或是前往程式設計學習網,瞭解更多程式設計技術知識。

相關文章