namespace :logger do
desc 'Show logs' task :show do on roles(:app) do default_file = fetch(:logger_default_file) || "#{release_path}/log/#{fetch(:rails_env)}.log" lines = ENV['LINES'] || fetch(:logger_lines) || 100 if ENV['ALIASE'] if fetch(:logger_file_aliases).is_a?(Hash) && fetched_file = fetch(:logger_file_aliases)[ENV['ALIASE'].to_sym] file = fetched_file else raise Capistrano::Logger::Error, 'Aliase for log file is not set.' end elsif ENV['FILE'] file = ENV['FILE'] else file = default_file end SSHKit.config.use_format SSHKit::Formatter::LogFormat execute "tail -n #{lines} #{file}" end end
end