Class: Facter::Log
- Inherits:
-
Object
- Object
- Facter::Log
- Defined in:
- lib/framework/logging/logger.rb
Constant Summary collapse
- @@file_logger =
Logger.new(File.new("#{ROOT_DIR}/example.log", 'a'))
- @@legacy_logger =
nil
- @@logger =
MultiLogger.new([@@file_logger])
- @@message_callback =
nil
Class Method Summary collapse
- .add_legacy_logger(output) ⇒ Object
- .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.
- #set_format_for_file_logger ⇒ Object
- #warn(msg) ⇒ Object
Constructor Details
#initialize(logged_class) ⇒ Log
Returns a new instance of Log.
29 30 31 32 |
# File 'lib/framework/logging/logger.rb', line 29 def initialize(logged_class) determine_callers_name(logged_class) set_format_for_file_logger end |
Class Method Details
.add_legacy_logger(output) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/framework/logging/logger.rb', line 34 def self.add_legacy_logger(output) return if @@legacy_logger @@legacy_logger = Logger.new(output) set_format_for_legacy_logger @@logger.add_logger(@@legacy_logger) end |
.level ⇒ Object
24 25 26 |
# File 'lib/framework/logging/logger.rb', line 24 def level @@logger.level end |
.level=(log_level) ⇒ Object
20 21 22 |
# File 'lib/framework/logging/logger.rb', line 20 def level=(log_level) @@logger.level = log_level end |
.on_message(&block) ⇒ Object
16 17 18 |
# File 'lib/framework/logging/logger.rb', line 16 def (&block) @@message_callback = block end |
.set_format_for_legacy_logger ⇒ Object
62 63 64 65 66 67 |
# File 'lib/framework/logging/logger.rb', line 62 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
95 96 97 |
# File 'lib/framework/logging/logger.rb', line 95 def colorize(msg, color) "\e[#{color}m#{msg}\e[0m" end |
#debug(msg) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/framework/logging/logger.rb', line 69 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
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/framework/logging/logger.rb', line 42 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
90 91 92 93 |
# File 'lib/framework/logging/logger.rb', line 90 def error(msg, colorize = false) msg = colorize(msg, RED) if colorize && !OsDetector.instance.detect.eql?(:windows) @@logger.error(@class_name + ' - ' + msg) end |
#info(msg) ⇒ Object
82 83 84 |
# File 'lib/framework/logging/logger.rb', line 82 def info(msg) @@logger.info(@class_name + ' - ' + msg) end |
#set_format_for_file_logger ⇒ Object
55 56 57 58 59 60 |
# File 'lib/framework/logging/logger.rb', line 55 def set_format_for_file_logger @@file_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 |
#warn(msg) ⇒ Object
86 87 88 |
# File 'lib/framework/logging/logger.rb', line 86 def warn(msg) @@logger.warn(@class_name + ' - ' + msg) end |