module BmcDaemonLib::LoggerHelper

Attributes

log_context[RW]
logger[RW]

Use accessor to expose logger to Grape, as it uses logger.*

Protected Instance Methods

log_debug(message, details = nil) click to toggle source
# File lib/bmc-daemon-lib/logger_helper.rb, line 21
def log_debug message, details = nil
  log Logger::DEBUG, message, details
end
log_error(message, details = nil) click to toggle source
# File lib/bmc-daemon-lib/logger_helper.rb, line 30
def log_error message, details = nil
  log Logger::ERROR, message, details
end
log_info(message, details = nil) click to toggle source
# File lib/bmc-daemon-lib/logger_helper.rb, line 24
def log_info message, details = nil
  log Logger::INFO, message, details
end
log_pipe(pipe, caller = nil) click to toggle source
# File lib/bmc-daemon-lib/logger_helper.rb, line 11
def log_pipe pipe, caller = nil
  @log_pipe = pipe
  @logger = BmcDaemonLib::LoggerPool.instance.get(pipe)
  @caller = caller
end
log_warn(message, details = nil) click to toggle source
# File lib/bmc-daemon-lib/logger_helper.rb, line 27
def log_warn message, details = nil
  log Logger::WARN, message, details
end

Private Instance Methods

full_context() click to toggle source
# File lib/bmc-daemon-lib/logger_helper.rb, line 41
def full_context
  # Grab the classe's context
  context = log_context()

  # Initialize an empty context, (log_context returned something bad, or method was not exposed)
  context = {} unless context.is_a? Hash

  # Who is the caller? Guess it from caller's class name if not provided
  context[:caller] ||= get_class_name

  # Return the whole context
  return context
end
get_class_name() click to toggle source
# File lib/bmc-daemon-lib/logger_helper.rb, line 55
def get_class_name
  self.class.name.to_s.split('::').last
end
log(severity, message, details) click to toggle source
# File lib/bmc-daemon-lib/logger_helper.rb, line 36
def log severity, message, details
  return puts "LoggerHelper.log: missing logger (#{get_class_name})" unless logger
  logger.add severity, message, full_context, details
end