Capistrano日志级别

时间:2014-02-24 01:21:06

标签: logging capistrano capistrano3 sshkit

我已将Capistrano配置的日志级别设置为error以防止详细输出。在deploy.rb我添加了set :log_level, :error。这非常有效。但是,当我通过execute运行命令时,它不会被打印,因为它是在DEBUG的日志级别下编写的。如何才能打印出execute命令的输出?我可以使用captureputs的组合来输出它,但是当我必须流式传输日志时,这无济于事。

1 个答案:

答案 0 :(得分:11)

您可以通过在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