module YetiLogger::LogMethods

This module contains log method definitions that are used at both the class and the instance level. Each log method is defined explicitly, despite the obvious repetition, to avoid the cost of creating a Proc for any, possibly unused, block passed to the log method. Define these methods explicitly allows the use of yield.

Public Instance Methods

log_debug(obj = nil, ex = nil) { || ... } click to toggle source

See usage at github.com/Yesware/yeti_logger/blob/master/README.md#user-based-logging

# File lib/yeti_logger.rb, line 78
def log_debug(obj = nil, ex = nil)
  should_log_as_info = YetiLogger.try(:promote_debug_to_info?, obj)

  if YetiLogger.logger.level <= Logger::DEBUG ||
     (should_log_as_info && YetiLogger.logger.level <= Logger::INFO)
    msg = if block_given?
            MessageFormatters.build_log_message(log_class_name, yield)
          else
            MessageFormatters.build_log_message(log_class_name, obj, ex)
          end
    YetiLogger.logger.send(should_log_as_info ? :info : :debug, msg)
  end
end
log_error(obj = nil, ex = nil) { || ... } click to toggle source
# File lib/yeti_logger.rb, line 114
def log_error(obj = nil, ex = nil)
  if YetiLogger.logger.level <= Logger::ERROR
    msg = if block_given?
            MessageFormatters.build_log_message(log_class_name, yield)
          else
            MessageFormatters.build_log_message(log_class_name, obj, ex)
          end
    YetiLogger.logger.send(:error, msg)
  end
end
log_fatal(obj = nil, ex = nil) { || ... } click to toggle source
# File lib/yeti_logger.rb, line 125
def log_fatal(obj = nil, ex = nil)
  if YetiLogger.logger.level <= Logger::FATAL
    msg = if block_given?
            MessageFormatters.build_log_message(log_class_name, yield)
          else
            MessageFormatters.build_log_message(log_class_name, obj, ex)
          end
    YetiLogger.logger.send(:fatal, msg)
  end
end
log_info(obj = nil, ex = nil) { || ... } click to toggle source
# File lib/yeti_logger.rb, line 92
def log_info(obj = nil, ex = nil)
  if YetiLogger.logger.level <= Logger::INFO
    msg = if block_given?
            MessageFormatters.build_log_message(log_class_name, yield)
          else
            MessageFormatters.build_log_message(log_class_name, obj, ex)
          end
    YetiLogger.logger.send(:info, msg)
  end
end
log_warn(obj = nil, ex = nil) { || ... } click to toggle source
# File lib/yeti_logger.rb, line 103
def log_warn(obj = nil, ex = nil)
  if YetiLogger.logger.level <= Logger::WARN
    msg = if block_given?
            MessageFormatters.build_log_message(log_class_name, yield)
          else
            MessageFormatters.build_log_message(log_class_name, obj, ex)
          end
    YetiLogger.logger.send(:warn, msg)
  end
end