Method: StandardError#logging

Defined in:
lib/coaster/core_ext/standard_error.rb,
lib/coaster/core_ext/standard_error/raven.rb

#logging(options = {}) ⇒ Object



192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# File 'lib/coaster/core_ext/standard_error.rb', line 192

def logging(options = {})
  logger = options[:logger]
  logger = Rails.logger if logger.nil? && defined?(Rails)
  return nil unless logger

  cl = options[:cleaner] || cleaner
  msg = to_detail

  if cl && backtrace
    msg += "\tBACKTRACE:\n\t"
    msg += cl.clean(backtrace).join("\n\t")
  end

  if level && logger.respond_to?(level)
    logger.send(level, msg)
  else
    logger.error(msg)
  end
end