Class: RFacter::Util::Logger

Inherits:
Logger
  • Object
show all
Defined in:
lib/rfacter/util/logger.rb

Overview

RFacter Logger class

This class provides all the methods of a standard Ruby Logger plus the following methods used by the Facter API:

- `warnonce`
- `debugonce`
- `log_exception`

Since:

  • 0.1.0

Constant Summary collapse

@@warn_messages =

Since:

  • 0.1.0

Hash.new
@@debug_messages =

Since:

  • 0.1.0

Hash.new

Instance Method Summary collapse

Instance Method Details

#debugonce(msg) ⇒ Object

Since:

  • 0.1.0



26
27
28
29
30
31
# File 'lib/rfacter/util/logger.rb', line 26

def debugonce(msg)
  if @@debug_messages[msg].nil?
    self.debug(msg)
    @@debug_messages[msg] = true
  end
end

#log_exception(exception, message = nil) ⇒ Object

Since:

  • 0.1.0



33
34
35
36
37
38
39
40
41
# File 'lib/rfacter/util/logger.rb', line 33

def log_exception(exception, message = nil)
  message = exception.message if message.nil?

  output = []
  output << message
  output.concat(exception.backtrace)

  self.warn(output.flatten.join("\n"))
end

#warnonce(msg) ⇒ Object

Since:

  • 0.1.0



19
20
21
22
23
24
# File 'lib/rfacter/util/logger.rb', line 19

def warnonce(msg)
  if @@warn_messages[msg].nil?
    self.warn(msg)
    @@warn_messages[msg] = true
  end
end