Module: Squash::Ruby

Defined in:
lib/squash/rails.rb

Defined Under Namespace

Modules: ControllerMethods

Class Method Summary collapse

Class Method Details

.failsafe_log(tag, message) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/squash/rails.rb', line 32

def self.failsafe_log(tag, message)
  logger = Rails.respond_to?(:logger) ? Rails.logger : RAILS_DEFAULT_LOGGER
  if (logger.respond_to?(:tagged))
    logger.tagged(tag) { logger.error message }
  else
    logger.error "[#{tag}]\t#{message}"
  end
rescue Object => err
  $stderr.puts "Couldn't write to failsafe log (#{err.to_s}); writing to stderr instead."
  $stderr.puts "#{Time.now.to_s}\t[#{tag}]\t#{message}"
end