Class: Kontena::Cli::Grids::EventsCommand
- Inherits:
-
Kontena::Command
- Object
- Clamp::Command
- Kontena::Command
- Kontena::Cli::Grids::EventsCommand
- Includes:
- Common, Helpers::LogHelper
- Defined in:
- lib/kontena/cli/grids/events_command.rb
Constant Summary collapse
- SKIP_TYPES =
['grid']
Instance Attribute Summary
Attributes inherited from Kontena::Command
#arguments, #exit_code, #result
Instance Method Summary collapse
Methods included from Helpers::LogHelper
#buffered_log_json, #color_for_container, #color_maps, #colors, #get_logs, included, #show_logs, #stream_logs, #token
Methods included from Common
#access_token=, #add_master, #any_key_to_continue, #any_key_to_continue_with_timeout, #api_url, #api_url=, #caret, #clear_current_grid, #client, #cloud_auth?, #cloud_client, #config, #confirm, #confirm_command, #current_grid, #current_master_index, #debug?, #display_account_login_info, #display_login_info, display_logo, #display_master_login_info, #error, exit_with_error, #kontena_account, #logger, #pastel, #print, #prompt, #puts, #require_api_url, #require_token, #reset_client, #reset_cloud_client, #running_quiet?, #running_silent?, #running_verbose?, #spin_if, #spinner, #sprint, #sputs, #stdin_input, #use_refresh_token, #vfakespinner, #vputs, #vspinner, #warning
Methods inherited from Kontena::Command
banner, callback_matcher, #help_requested?, inherited, #instance, load_subcommand, requires_current_account_token, requires_current_account_token?, requires_current_grid, requires_current_grid?, requires_current_master, requires_current_master?, requires_current_master_token, requires_current_master_token?, #run, #run_callbacks, #verify_current_account_token, #verify_current_grid, #verify_current_master, #verify_current_master_token
Instance Method Details
#execute ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/kontena/cli/grids/events_command.rb', line 13 def execute require_api_url query_params = {} query_params[:nodes] = node_list.join(",") unless node_list.empty? query_params[:services] = service_list.join(",") unless service_list.empty? titles = ['TIME', 'TYPE', 'RELATIONSHIPS', 'MESSAGE'] puts "%-25s %-25s %-40s %s" % titles show_logs("grids/#{current_grid}/event_logs", query_params) do |log| show_log(log) end end |
#show_log(log) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/kontena/cli/grids/events_command.rb', line 27 def show_log(log) msg = log['message'] rels = log['relationships']. delete_if { |r| SKIP_TYPES.include?(r['type']) }. map { |r| id = r['id'].split('/')[1..-1].delete_if{ |s| s == 'null'}.join('/') unless id.empty? "#{r['type']}=#{id}" end }.compact time = log['created_at'] if log['severity'] == 2 time = pastel.yellow(time) elsif log['severity'] >= 3 time = pastel.red(time) end puts '%-25s %-25s %-40s %s' % [ time, log['type'], rels.join(','), msg ] end |