默认情况下,我的capistrano 3设置为:set :log_level, :info
它有助于在部署时消除噪音。
但我想为特定任务更改该值,例如tail log_file
否则,不显示任何输出。
desc "tail rails logs"
task :tail do
on roles(:app) do
execute "tail -f #{shared_path}/log/#{fetch(:rails_env)}.log"
end
end
更改特定rake任务的log_level设置的正确方法是什么?
谢谢
答案 0 :(得分:3)
在检查capistrano源代码时,我注意到在任务调用之前调用了configure_backend。因此,我的设置更改被忽略。我把它修改如下:
def set_output
set :log_level, :debug
configure_backend
end
desc "tail rails logs"
task :tail do
set_output
on roles(:app) do
execute "tail -f #{shared_path}/log/#{fetch(:rails_env)}.log"
end
end