class Facter::Log
Public Class Methods
errors?()
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 31 def errors? @@has_errors end
level()
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 27 def level @@logger.level end
level=(log_level)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 23 def level=(log_level) @@logger.level = log_level end
new(logged_class)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 51 def initialize(logged_class) @class_name = LoggerHelper.determine_callers_name(logged_class) return unless @@logger.nil? @@logger = Logger.new(STDOUT) @@logger.level = DEFAULT_LOG_LEVEL end
on_message(&block)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 19 def on_message(&block) @@message_callback = block end
output(output)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 35 def output(output) return if @@logger @@logger = Logger.new(output) set_logger_format @@logger.level = DEFAULT_LOG_LEVEL end
set_logger_format()
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 43 def set_logger_format @@logger.formatter = proc do |severity, datetime, _progname, msg| datetime = datetime.strftime(@datetime_format || '%Y-%m-%d %H:%M:%S.%6N ') "[#{datetime}] #{severity} #{msg} \n" end end
Public Instance Methods
debug(msg)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 59 def debug(msg) return unless debugging_active? if @@message_callback @@message_callback.call(:debug, msg) else msg = colorize(msg, CYAN) if Options[:color] @@logger.debug(@class_name + ' - ' + msg) end end
error(msg, colorize = false)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 90 def error(msg, colorize = false) @@has_errors = true if @@message_callback @@message_callback.call(:error, msg) else msg = colorize(msg, RED) if colorize || Options[:color] @@logger.error(@class_name + ' - ' + msg) end end
info(msg)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 70 def info(msg) if msg.nil? || msg.empty? empty_message_error(msg) elsif @@message_callback @@message_callback.call(:info, msg) else msg = colorize(msg, GREEN) if Options[:color] @@logger.info(@class_name + ' - ' + msg) end end
log_exception(exception)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 101 def log_exception(exception) msg = colorize(exception.message, RED) + "\n" msg += exception.backtrace.join("\n") if Options[:trace] @@logger.error(@class_name + ' - ' + msg) end
warn(msg)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 81 def warn(msg) if @@message_callback @@message_callback.call(:warn, msg) else msg = colorize(msg, YELLOW) if Options[:color] @@logger.warn(@class_name + ' - ' + msg) end end
Private Instance Methods
colorize(msg, color)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 110 def colorize(msg, color) "#{color}#{msg}#{RESET}" end
debugging_active?()
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 114 def debugging_active? return true unless Facter.respond_to?(:debugging?) Facter.debugging? end
empty_message_error(msg)
click to toggle source
# File lib/facter/framework/logging/logger.rb, line 120 def empty_message_error(msg) invoker = caller(1..1).first.slice(/.*:\d+/) @@logger.warn "#{self.class}#debug invoked with invalid message #{msg.inspect}:#{msg.class} at #{invoker}" end