class Hiera::Backend::Eyaml::LoggingHelper
Public Class Methods
colorize(message, color)
click to toggle source
# File lib/hiera/backend/eyaml/logginghelper.rb, line 57 def self.colorize(message, color) suffix = "\e[0m" prefix = case color when :red "\e[31m" when :green "\e[32m" when :blue "\e[34m" else # :white "\e[0m" end "#{prefix}#{message}#{suffix}" end
debug(messageinfo)
click to toggle source
# File lib/hiera/backend/eyaml/logginghelper.rb, line 36 def self.debug(messageinfo) print_message({ message: structure_message(messageinfo), hiera_loglevel: :debug, cli_color: :green, threshold: 1 }) end
hiera?()
click to toggle source
# File lib/hiera/backend/eyaml/logginghelper.rb, line 72 def self.hiera? 'hiera'.eql? Eyaml::Options[:source] end
info(messageinfo)
click to toggle source
# File lib/hiera/backend/eyaml/logginghelper.rb, line 32 def self.info(messageinfo) print_message({ message: structure_message(messageinfo), hiera_loglevel: :debug, cli_color: :white, threshold: 0 }) end
print_message(args)
click to toggle source
# File lib/hiera/backend/eyaml/logginghelper.rb, line 44 def self.print_message(args) message = args[:message] ||= '' hiera_loglevel = args[:hiera_loglevel] ||= :debug cli_color = args[:cli_color] ||= :blue threshold = args[:threshold] if hiera? Hiera.send(hiera_loglevel, message) if threshold.nil? or Eyaml.verbosity_level > threshold elsif threshold.nil? or Eyaml.verbosity_level > threshold STDERR.puts self.colorize( message, cli_color ) end end
structure_message(messageinfo)
click to toggle source
# File lib/hiera/backend/eyaml/logginghelper.rb, line 8 def self.structure_message(messageinfo) message = { from: 'hiera-eyaml-core' } case messageinfo.class.to_s when 'Hash' message.merge!(messageinfo) else message.merge!({ msg: messageinfo.to_s }) end message[:prefix] = "[#{message[:from]}]" message[:spacer] = " #{' ' * message[:from].length} " formatted_output = message[:msg].split("\n").each_with_index.map do |line, index| if index == 0 "#{message[:prefix]} #{line}" else "#{message[:spacer]} #{line}" end end formatted_output.join "\n" end
trace(messageinfo)
click to toggle source
# File lib/hiera/backend/eyaml/logginghelper.rb, line 40 def self.trace(messageinfo) print_message({ message: structure_message(messageinfo), hiera_loglevel: :debug, cli_color: :blue, threshold: 2 }) end
warn(messageinfo)
click to toggle source
# File lib/hiera/backend/eyaml/logginghelper.rb, line 28 def self.warn(messageinfo) print_message({ message: structure_message(messageinfo), hiera_loglevel: :warn, cli_color: :red }) end