Module: YetiLogger::LogMethods

Included in:
YetiLogger, ClassMethods
Defined in:
lib/yeti_logger.rb

Overview

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.

Instance Method Summary collapse

Instance Method Details

#log_debug(obj = nil, ex = nil) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
# 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) ⇒ Object



114
115
116
117
118
119
120
121
122
123
# 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) ⇒ Object



125
126
127
128
129
130
131
132
133
134
# 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) ⇒ Object



92
93
94
95
96
97
98
99
100
101
# 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) ⇒ Object



103
104
105
106
107
108
109
110
111
112
# 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