我已将 Capistrano 配置的日志级别设置error
为防止出现详细输出。在deploy.rb
我添加了set :log_level, :error
. 这很好用。但是,当我通过 运行命令时execute
,它不会打印,因为它是在DEBUG
. 如何获得execute
要打印的命令输出?我可以使用capture
组合puts
来输出它,但是当我必须流式传输日志时这无济于事。
问问题
10509 次
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 回答