Я установил уровень журнала конфигурации Capistrano на error, чтобы предотвратить подробный вывод. В deploy.rb я добавил set :log_level, :error. Это отлично работает. Однако, когда я запускаю команды через execute, он не печатается, поскольку он записывается под уровнем журнала DEBUG. Как я могу получить вывод команд execute для распечатки? Я могу использовать capture с комбинацией puts для вывода его, но это не помогает, когда я должен транслировать журналы.
Уровень журнала Capistrano
Ответ 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