Module: Morpheus::Cli::LogsHelper
- Included in:
- LogsCommand
- Defined in:
- lib/morpheus/cli/mixins/logs_helper.rb
Overview
Mixin for Morpheus::Cli command classes Provides common methods for fetching log records. The including class must establish @logs_interface, @containers_interface, @servers_interface
Class Method Summary collapse
Instance Method Summary collapse
- #clusters_interface ⇒ Object
- #containers_interface ⇒ Object
- #format_log_records(log_records, options = {}) ⇒ Object
- #logs_interface ⇒ Object
- #print_log_records(log_records, options = {}) ⇒ Object
- #servers_interface ⇒ Object
Class Method Details
.included(klass) ⇒ Object
8 9 10 |
# File 'lib/morpheus/cli/mixins/logs_helper.rb', line 8 def self.included(klass) klass.send :include, Morpheus::Cli::PrintHelper end |
Instance Method Details
#clusters_interface ⇒ Object
30 31 32 33 34 |
# File 'lib/morpheus/cli/mixins/logs_helper.rb', line 30 def clusters_interface # @api_client.clusters raise "#{self.class} has not defined @clusters_interface" if @clusters_interface.nil? @clusters_interface end |
#containers_interface ⇒ Object
18 19 20 21 22 |
# File 'lib/morpheus/cli/mixins/logs_helper.rb', line 18 def containers_interface ## @api_client.containers raise "#{self.class} has not defined @logs_interface" if @containers_interface.nil? @containers_interface end |
#format_log_records(log_records, options = {}) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/morpheus/cli/mixins/logs_helper.rb', line 40 def format_log_records(log_records, ={}) out = "" table_color = .key?(:color) ? [:color] : cyan log_records.each do |log_entry| log_level = '' case log_entry['level'] when 'INFO' log_level = "#{blue}#{bold}INFO#{reset}" when 'DEBUG' log_level = "#{white}#{bold}DEBUG#{reset}" when 'WARN' log_level = "#{yellow}#{bold}WARN#{reset}" when 'ERROR' log_level = "#{red}#{bold}ERROR#{reset}" when 'FATAL' log_level = "#{red}#{bold}FATAL#{reset}" end out << table_color if table_color out << "[#{log_entry['ts']}] #{log_level} - #{log_entry['message'].to_s.strip}" out << table_color if table_color out << "\n" end return out end |
#logs_interface ⇒ Object
12 13 14 15 16 |
# File 'lib/morpheus/cli/mixins/logs_helper.rb', line 12 def logs_interface # @api_client.logs raise "#{self.class} has not defined @logs_interface" if @logs_interface.nil? @logs_interface end |
#print_log_records(log_records, options = {}) ⇒ Object
36 37 38 |
# File 'lib/morpheus/cli/mixins/logs_helper.rb', line 36 def print_log_records(log_records, ={}) print format_log_records(log_records, ) end |
#servers_interface ⇒ Object
24 25 26 27 28 |
# File 'lib/morpheus/cli/mixins/logs_helper.rb', line 24 def servers_interface # @api_client.servers raise "#{self.class} has not defined @servers_interface" if @servers_interface.nil? @servers_interface end |