class Bosh::Cli::LogsDownloader
Public Class Methods
new(director, ui)
click to toggle source
# File lib/cli/logs_downloader.rb, line 3 def initialize(director, ui) @director = director @ui = ui end
Public Instance Methods
build_destination_path(job_name, job_index_or_id, directory)
click to toggle source
# File lib/cli/logs_downloader.rb, line 8 def build_destination_path(job_name, job_index_or_id, directory) time = Time.now.strftime('%Y-%m-%d-%H-%M-%S') File.join(directory, "#{job_name}.#{job_index_or_id}.#{time}.tgz") end
download(resource_id, logs_destination_path)
click to toggle source
# File lib/cli/logs_downloader.rb, line 13 def download(resource_id, logs_destination_path) @ui.say("Downloading log bundle (#{resource_id.to_s.make_green})...") @ui.nl begin tmp_file = @director.download_resource(resource_id) FileUtils.mv(tmp_file, logs_destination_path) @ui.say("Logs saved in '#{logs_destination_path.make_green}'") @ui.nl rescue Bosh::Cli::DirectorError => e @ui.err("Unable to download logs from director: #{e}") ensure FileUtils.rm_rf(tmp_file) if tmp_file end end