【问题标题】:Capistrano log levelCapistrano 日志级别
【发布时间】:2014-02-24 01:21:05
【问题描述】:
我已将 Capistrano 配置的日志级别设置为 error 以防止出现详细输出。在deploy.rb 中,我添加了set :log_level, :error。这很好用。但是,当我通过execute 运行命令时,它不会被打印,因为它是在DEBUG 的日志级别下写入的。如何获得要打印的execute 命令的输出?我可以使用capture 和puts 的组合来输出它,但是当我必须流式传输日志时这无济于事。
【问题讨论】:
标签:
logging
capistrano
capistrano3
sshkit
【解决方案1】:
您可以通过在 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