Skip to content

Logging_ja

Junpei Kawamoto edited this page Jul 13, 2016 · 1 revision

実行したプログラムが問題なく動作しているか確認するためには, ステータスのチェックやログの確認が便利です. roadie は次の二つのコマンドを提供しています.

  • status は仮想マシンステータスの確認と停止を行います.
  • log はログの表示を行います.

status コマンド

roadie status コマンドは,各仮想マシンが実行中か終了済みかを表示します. もし,仮想マシンインスタンスが終了済みで計算結果も削除されている場合, status コマンドでは非表示になります. 計算結果の削除済みインスタンスに関する情報も取得するには --all フラッグを付けてください.

なお,ステータス情報は一定期間が過ぎたのち Google Cloud Platform によって 完全に削除されます. この場合,--all フラッグを使用しても表示されなくなります.

status コマンドの別の機能は,インスタンスを途中で削除することです. INSTANCE というインスタンスを何らかの理由で途中削除する場合,

$ roadie status kill INSTANCE

を実行してください.

実行途中にインスタンスを削除した場合,計算結果はクラウドストレージに保存されないことがあります.

log コマンド

ログコマンドは,各インスタンスのログ出力を取得します. INSTANCE というインスタンスのログを取得するには,

$ roadie log INSTANCE

を実行してください.

ログメッセージには,事前準備,事後プロセスの進捗に加えて, 各コマンドが標準エラー出力 stderr に書き出したメッセージも含まれます.

roadie の実行モデルでは,標準出力 stdout と標準エラー出力 stderr は 別々の意味を持ちます. 標準出力に書き出されたメッセージは, プログラムの実行結果としてクラウドストレージに保存されます. これらのメッセージはプログラムの実行中に外部から取得することはできませんが, 永続的に管理されます. 各出力を取得するには roadie result コマンドを使用します.

一方,標準エラー出力に書き出されたメッセージは,永続的なクラウドストレージには保存されません. その代わり,log コマンドを用いてインスタンスの実行中に外部から確認することができます. 標準エラー出力への書き込みは,その都度通信を発生させるため, 巨大なデータの書き込みは避けた方が良いでしょう.

オプション

ログコマンドには幾つかのオプションがあります.

--no-timestamp フラッグが付けられた場合,タイムスタンプが省略されます. --follow フラッグが付けられた場合,roadie コマンドは新たなログの到着を待ち続けます. このフラッグを使用した場合,roadie コマンドは自動では終了しなくなります. 終了させる場合には control + c を使用してください.