12

error詳細な出力を防ぐために、Capistrano 構成のログ レベルをに設定しました。にdeploy.rbを追加しましset :log_level, :errorた。これはうまくいきます。ただし、 経由executeでコマンドを実行すると、 のログ レベルで書き込まれているため、出力されませんDEBUGexecuteコマンドの出力を印刷するにはどうすればよいですか? captureの組み合わせを使用しputsて出力することはできますが、ログをストリーミングする必要がある場合は役に立ちません。

4

1 に答える 1

12

これを行うには、 deploy.rb ファイルで次のメソッドを定義します。

def with_verbosity(verbosity_level)
  old_verbosity = SSHKit.config.output_verbosity
  begin
    SSHKit.config.output_verbosity = verbosity_level
    yield
  ensure
    SSHKit.config.output_verbosity = old_verbosity
  end
end

次に、次のように呼び出します。

with_verbosity(Logger::DEBUG) do
  execute "./blah.sh"
end
于 2014-03-03T15:00:17.480 に答える