Class: Facter::Log
- Inherits:
-
Object
- Object
- Facter::Log
- Defined in:
- lib/framework/logging/logger.rb
Constant Summary collapse
- @@legacy_logger =
nil
- @@logger =
MultiLogger.new([])
- @@message_callback =
nil
- @@has_errors =
false
Class Method Summary collapse
- .add_legacy_logger(output) ⇒ Object
- .errors? ⇒ Boolean
- .level ⇒ Object
- .level=(log_level) ⇒ Object
- .on_message(&block) ⇒ Object
- .set_format_for_legacy_logger ⇒ Object
Instance Method Summary collapse
- #colorize(msg, color) ⇒ Object
- #debug(msg) ⇒ Object
- #determine_callers_name(sender_self) ⇒ Object
- #error(msg, colorize = false) ⇒ Object
- #info(msg) ⇒ Object
-
#initialize(logged_class) ⇒ Log
constructor
A new instance of Log.
- #warn(msg) ⇒ Object
Constructor Details
#initialize(logged_class) ⇒ Log
Returns a new instance of Log.
34 35 36 |
# File 'lib/framework/logging/logger.rb', line 34 def initialize(logged_class) determine_callers_name(logged_class) end |
Class Method Details
.add_legacy_logger(output) ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/framework/logging/logger.rb', line 38 def self.add_legacy_logger(output) return if @@legacy_logger @@legacy_logger = Logger.new(output) @@legacy_logger.level = DEFAULT_LOG_LEVEL set_format_for_legacy_logger @@logger.add_logger(@@legacy_logger) end |
.errors? ⇒ Boolean
29 30 31 |
# File 'lib/framework/logging/logger.rb', line 29 def errors? @@has_errors end |
.level ⇒ Object
25 26 27 |
# File 'lib/framework/logging/logger.rb', line 25 def level @@logger.level end |
.level=(log_level) ⇒ Object
21 22 23 |
# File 'lib/framework/logging/logger.rb', line 21 def level=(log_level) @@logger.level = log_level end |
.on_message(&block) ⇒ Object
17 18 19 |
# File 'lib/framework/logging/logger.rb', line 17 def (&block) @@message_callback = block end |
.set_format_for_legacy_logger ⇒ Object
60 61 62 63 64 65 |
# File 'lib/framework/logging/logger.rb', line 60 def self.set_format_for_legacy_logger @@legacy_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 |
Instance Method Details
#colorize(msg, color) ⇒ Object
94 95 96 |
# File 'lib/framework/logging/logger.rb', line 94 def colorize(msg, color) "\e[#{color}m#{msg}\e[0m" end |
#debug(msg) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/framework/logging/logger.rb', line 67 def debug(msg) return unless Facter.debugging? if msg.nil? || msg.empty? invoker = caller(1..1).first.slice(/.*:\d+/) self.warn "#{self.class}#debug invoked with invalid message #{msg.inspect}:#{msg.class} at #{invoker}" elsif @@message_callback @@message_callback.call(:debug, msg) else @@logger.debug(@class_name + ' - ' + msg) end end |
#determine_callers_name(sender_self) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/framework/logging/logger.rb', line 47 def determine_callers_name(sender_self) @class_name = case sender_self when String sender_self when Class sender_self.name when Module sender_self.name else # when class is singleton sender_self.class.name end end |
#error(msg, colorize = false) ⇒ Object
88 89 90 91 92 |
# File 'lib/framework/logging/logger.rb', line 88 def error(msg, colorize = false) @@has_errors = true msg = colorize(msg, RED) if colorize && !OsDetector.instance.detect.eql?(:windows) @@logger.error(@class_name + ' - ' + msg) end |
#info(msg) ⇒ Object
80 81 82 |
# File 'lib/framework/logging/logger.rb', line 80 def info(msg) @@logger.info(@class_name + ' - ' + msg) end |
#warn(msg) ⇒ Object
84 85 86 |
# File 'lib/framework/logging/logger.rb', line 84 def warn(msg) @@logger.warn(@class_name + ' - ' + msg) end |