Class: MetricFu::Logger

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/metric_fu/logger.rb

Constant Summary collapse

MfLogger =
::Logger
LEVELS =
{
  "debug" => MfLogger::DEBUG,
  "info"  => MfLogger::INFO,
  "warn"  => MfLogger::WARN,
  "error" => MfLogger::ERROR,
  "fatal" => MfLogger::FATAL,
  "unknown" => MfLogger::UNKNOWN,
}

Instance Method Summary collapse

Constructor Details

#initialize(stdout) ⇒ Logger

Returns a new instance of Logger.



12
13
14
15
16
17
# File 'lib/metric_fu/logger.rb', line 12

def initialize(stdout)
  @logger = MfLogger.new(stdout)
  self.debug_on = false
  self.formatter = ->(_severity, _time, _progname, msg) { "#{msg}\n" }
  self.level = "info"
end

Instance Method Details

#debug(msg) ⇒ Object



50
51
52
# File 'lib/metric_fu/logger.rb', line 50

def debug(msg)
  @logger.debug "*" * 5 + msg.to_s
end

#debug_onObject



23
24
25
# File 'lib/metric_fu/logger.rb', line 23

def debug_on
  @logger.level == MfLogger::DEBUG
end

#debug_on=(bool) ⇒ Object



19
20
21
# File 'lib/metric_fu/logger.rb', line 19

def debug_on=(bool)
  self.level = bool ? "debug" : "info"
end

#formatter=(formatter) ⇒ Object



42
43
44
# File 'lib/metric_fu/logger.rb', line 42

def formatter=(formatter)
  @logger.formatter = formatter
end

#level=(level) ⇒ Object



38
39
40
# File 'lib/metric_fu/logger.rb', line 38

def level=(level)
  @logger.level = LEVELS.fetch(level.to_s.downcase) { level }
end

#log(msg) ⇒ Object



46
47
48
# File 'lib/metric_fu/logger.rb', line 46

def log(msg)
  @logger.info "*" * 5 + msg.to_s
end