class MiqDevUtil::Logger

A utility class to write information to the ManageIQ logs.

Public Class Methods

new(evm, method_name) click to toggle source
# File lib/miq_dev_util/logger.rb, line 4
def initialize(evm, method_name)
  @evm = evm
  @method_name = method_name
  @dump_log_level = :info
end

Public Instance Methods

debug(message) click to toggle source
# File lib/miq_dev_util/logger.rb, line 15
def debug(message)
  log(:debug, message)
end
dump_associations(my_object, my_object_name) click to toggle source

Write the associations of the given object to the log with a prefix of my_object_name to make finding the entries a little easier.

# File lib/miq_dev_util/logger.rb, line 46
def dump_associations(my_object, my_object_name)
  if my_object.respond_to?("associations")
    self.log(@dump_log_level, "Begin #{my_object_name}.associations")
    my_object.associations.sort.each { |a| self.log(:info, "#{my_object_name} Association - #{a}")}
    self.log(@dump_log_level, "End #{my_object_name}.associations")
    self.log(@dump_log_level, "")
  else
    self.log(@dump_log_level, "No associations for #{my_object_name}")
  end
end
dump_attributes(my_object, my_object_name) click to toggle source

Write the attributes of the given object to the log with a prefix of my_object_name to make finding the entries a little easier.

# File lib/miq_dev_util/logger.rb, line 33
def dump_attributes(my_object, my_object_name)
  if my_object.respond_to?("attributes")
    self.log(@dump_log_level, "Begin #{my_object_name}.attributes")
    my_object.attributes.sort.each { |k, v| self.log(:info, "#{my_object_name} Attribute - #{k}: #{v}")}
    self.log(@dump_log_level, "End #{my_object_name}.attributes")
    self.log(@dump_log_level, "")
  else
    self.log(@dump_log_level, "No attributes for #{my_object_name}")
  end
end
dump_info(my_object, my_object_name) click to toggle source

A shortcut for dumping multiple types of information about the given object.

# File lib/miq_dev_util/logger.rb, line 71
def dump_info(my_object, my_object_name)
  self.dump_attributes(my_object, my_object_name)
  self.dump_associations(my_object, my_object_name)
  self.dump_virtual_columns(my_object, my_object_name)
end
dump_root() click to toggle source

A shortcut to dump the $evm.root object.

# File lib/miq_dev_util/logger.rb, line 78
def dump_root()
  self.dump_info(@evm.root, "$evm.root")
end
dump_virtual_columns(my_object, my_object_name) click to toggle source

Write the virtual columns of the given object to the log with a prefix of my_object_name to make finding the entries a little easier.

# File lib/miq_dev_util/logger.rb, line 59
def dump_virtual_columns(my_object, my_object_name)
  if my_object.respond_to?("virtual_column_names")
    self.log(@dump_log_level, "Begin #{my_object_name}.virtual_columns")
    my_object.virtual_column_names.sort.each { |vcn| self.log(:info, "#{my_object_name} Virtual Column - #{vcn}")}
    self.log(@dump_log_level, "End #{my_object_name}.virtual_columns")
    self.log(@dump_log_level, "")
  else
    log(@dump_log_level, "No virtual_columns for #{my_object_name}")
  end
end
error(message) click to toggle source
# File lib/miq_dev_util/logger.rb, line 19
def error(message)
  log(:error, message)
end
info(message) click to toggle source
# File lib/miq_dev_util/logger.rb, line 23
def info(message)
  log(:info, message)
end
log(level, message) click to toggle source

Write message to the logging system with the given logging level.

# File lib/miq_dev_util/logger.rb, line 11
def log(level, message)
  @evm.log(level, "#{@method_name} - #{message}")
end
warn(message) click to toggle source
# File lib/miq_dev_util/logger.rb, line 27
def warn(message)
  log(:warn, message)
end