Sha256: 1ad9210f9ba52744edc63a49e63db70fafd46b2f6726970f26b1e0c488642167

Contents?: true

Size: 1.39 KB

Versions: 34

Compression:

Stored size: 1.39 KB

Contents

require_relative '../helpers/log_helper'

module Kontena::Cli::Grids
  class EventsCommand < Kontena::Command
    include Kontena::Cli::Common
    include Kontena::Cli::Helpers::LogHelper

    SKIP_TYPES = ['grid']

    option "--node", "NODE", "Filter by node name", multivalued: true
    option "--service", "SERVICE", "Filter by service name", multivalued: true

    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

    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
  end
end

Version data entries

34 entries across 34 versions & 2 rubygems

Version Path
krates-1.7.11 lib/kontena/cli/grids/events_command.rb
krates-1.7.10 lib/kontena/cli/grids/events_command.rb
krates-1.7.9 lib/kontena/cli/grids/events_command.rb
krates-1.7.8 lib/kontena/cli/grids/events_command.rb
krates-1.7.7 lib/kontena/cli/grids/events_command.rb
krates-1.7.6 lib/kontena/cli/grids/events_command.rb
krates-1.7.5 lib/kontena/cli/grids/events_command.rb
krates-1.7.4 lib/kontena/cli/grids/events_command.rb
krates-1.7.3 lib/kontena/cli/grids/events_command.rb
krates-1.7.2 lib/kontena/cli/grids/events_command.rb
krates-1.7.1 lib/kontena/cli/grids/events_command.rb
krates-1.7.0 lib/kontena/cli/grids/events_command.rb
krates-1.6.9 lib/kontena/cli/grids/events_command.rb
krates-1.6.8 lib/kontena/cli/grids/events_command.rb
krates-1.6.7 lib/kontena/cli/grids/events_command.rb
krates-1.6.6 lib/kontena/cli/grids/events_command.rb
krates-1.6.5 lib/kontena/cli/grids/events_command.rb
krates-1.6.4 lib/kontena/cli/grids/events_command.rb
krates-1.6.3 lib/kontena/cli/grids/events_command.rb
krates-1.6.2 lib/kontena/cli/grids/events_command.rb