Class: VMC::App::Logs
- Inherits:
-
Base
- Object
- Mothership
- CLI
- V2CheckCLI
- Base
- VMC::App::Logs
- Defined in:
- lib/vmc/cli/app/logs.rb
Constant Summary
Constants inherited from Mothership
Instance Attribute Summary
Attributes inherited from Mothership
Instance Method Summary collapse
Methods inherited from Base
#app_status, #human_mb, #human_size, #megabytes, #memory_choices, #state_color
Methods inherited from V2CheckCLI
Methods inherited from CLI
#check_logged_in, #check_target, #client, client, client=, #client_target, #color_enabled?, #debug?, #default_action, #ensure_config_dir, #err, #execute, #fail, #fail_unknown, #force?, #invalidate_client, #log_error, #name_list, #no_v2, #normalize_targets_info, #one_of, #precondition, #quiet?, #remove_target_info, #sane_target_url, #save_target_info, #save_targets, #save_token_if_it_changes, #set_target, #table, #target_file, #target_info, #targets_info, #tokens_file, #user_colors, #v2?, #verbose?, #wrap_errors
Methods included from Spacing
#indented, #justify, #line, #lines, #quiet?, #spaced, #start_line, #tabular, #text_width, #trim_escapes
Methods included from Interactive
#ask, #handler, #input_state, #list_choices, #prompt, #show_default
Methods inherited from Mothership
add_input, after, alias_command, around, before, change_argument, commands, #default_action, desc, #execute, #exit_status, #filter, filter, global_option, group, #help, #initialize, input, #interact, interactions, #invoke, method_added, option, #run, start, #unknown_command, #with_filters
Constructor Details
This class inherits a constructor from Mothership
Instance Method Details
#crashlogs ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/vmc/cli/app/logs.rb', line 39 def crashlogs app = input[:app] crashes = app.crashes fail "No crashed instances found." if crashes.empty? most_recent = crashes.sort_by(&:since).last show_instance_logs(app, most_recent) end |
#logs ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/vmc/cli/app/logs.rb', line 12 def logs app = input[:app] instances = if input[:all] || input[:instance] == "all" app.instances else app.instances.select { |i| i.id == input[:instance] } end if instances.empty? if input[:all] fail "No instances found." else fail "Instance #{app.name} \##{input[:instance]} not found." end end spaced(instances) do |i| show_instance_logs(app, i) end end |
#show_instance_logs(app, i) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/vmc/cli/app/logs.rb', line 50 def show_instance_logs(app, i) return unless i.id logs = with_progress( "Getting logs for #{c(app.name, :name)} " + c("\##{i.id}", :instance)) do i.files("logs") end line unless quiet? spaced(logs) do |log| begin body = with_progress("Reading " + b(log.join("/"))) do |s| i.file(*log) end lines body line unless body.empty? rescue CFoundry::NotFound end end end |