TL;DR
-
gist
コマンドを使ってログを private gist にアップロードすると共有するのが楽- オプションには
-pof LOG_NAME
を指定する
- オプションには
- カラーシーケンスを取り除かないと汚くなるので、コマンドを用意しておくといい
モチベーション
何か作業をしていてそのログをチームメンバーと共有したくなることがあります。
ログにコメントしたりなんだかんだしたいので、gistとか使うと楽そうです。
gistコマンド
gist
コマンドはファイル、もしくはSTDINをgistにアップロードしてくれるコマンドです。
セットアップ
インストールは簡単で
# Mac
brew install gist
# Other
gem install gist
認証情報を設定します
gist --login
と実行すると、ユーザIDとパスワードを聞かれるので、それらを入力したら完了です。
使う
some-command | gist -pof LOG_NAME
gist
コマンドはこのようにパイプすることで標準入力で受け取った内容をgistにアップロードしてくれます。ここでは3つのオプションを使っています:
- -p, --private
- private gistにアップロードする
- -o, --open
- アップロードが完了したらブラウザでそのgistファイルを開く
- -f, --filename [NAME.EXTENSION]
- アップロードするときにファイル名を指定する。指定しないとデフォルトで "a.rb" が使われる
-o
がついていると、コマンド実行している間に他のことをしていても、ブラウザが開くことでコマンドの完了を知ることができるので便利です。
後はブラウザで開いたURLをメンバーと共有すれば完了です。簡単ですね。
カラーシーケンスを取り除く
ログの中にはANSIのカラーシーケンスを出力するものがあると思いますが、gistでは綺麗に表示できないので取り除いた方がいいです1
以下のようにaliasを作って
alias strip-color="perl -MTerm::ANSIColor=colorstrip -ne 'print colorstrip(\$_)'"`
gist
コマンドにいれる前に stip-color
を通すと便利です。Term::ANSIColor
モジュールはperl本体にバンドルされているので、どの環境でも使えるはずです。
some-command | strip-color | gist --private -o -f log-name
-
綺麗に表示する方法をご存じの方は教えてください ↩