Sha256: 68aec837d532bade8db08c15dd7c02fb36c4c5e1e7ef9724dc5be90bcec27c3c

Contents?: true

Size: 1.18 KB

Versions: 33

Compression:

Stored size: 1.18 KB

Contents

require 'log4r'
require 'log4r/yamlconfigurator'
require 'log4r/outputter/datefileoutputter'
require 'active_support/core_ext/array.rb'
require 'active_support/core_ext/class/attribute_accessors.rb'

class Log4r::Logger
  # Set to false to disable the silencer
  cattr_accessor :silencer
  self.silencer = true

  # Silences the logger for the duration of the block.
  def silence(temporary_level = nil)
    temporary_level = Log4r::ERROR unless temporary_level
    if silencer
      begin
        old_logger_level, self.level = level, temporary_level
        yield self
      ensure
        self.level = old_logger_level
      end
    else
      yield self
    end
  end

  # Convenience method for logging exceptions
  def log_exception(exception, details = {})
    details = details.stringify_keys
    max = details.keys.max { |a,b| a.length <=> b.length }
    env = details.keys.sort.inject [] do |env, key|
      env << '* ' + ("%-*s: %s" % [max.length, key, details[key].to_s.strip])
    end

    details_str = env.join("\n")
    trace = exception.backtrace.join("\n")
    error("Exception '#{exception.class_name}', '#{exception.message}', details:\n#{details_str}\nBacktrace:\n#{trace}")
  end

end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
lumber-1.2.2 lib/lumber/log4r.rb
lumber-1.2.1 lib/lumber/log4r.rb
lumber-1.2.0 lib/lumber/log4r.rb
lumber-1.1.3 lib/lumber/log4r.rb
lumber-1.1.2 lib/lumber/log4r.rb
lumber-1.1.1 lib/lumber/log4r.rb
lumber-1.1.0 lib/lumber/log4r.rb
lumber-1.0.3 lib/lumber/log4r.rb
lumber-1.0.2 lib/lumber/log4r.rb
lumber-1.0.1 lib/lumber/log4r.rb
lumber-1.0.0 lib/lumber/log4r.rb
lumber-0.13.5 lib/lumber/log4r.rb
lumber-0.13.4 lib/lumber/log4r.rb
lumber-0.13.2 lib/lumber/log4r.rb
lumber-0.13.1 lib/lumber/log4r.rb
lumber-0.13.0 lib/lumber/log4r.rb
lumber-0.12.3 lib/lumber/log4r.rb
lumber-0.12.2 lib/lumber/log4r.rb
lumber-0.12.1 lib/lumber/log4r.rb
lumber-0.12.0 lib/lumber/log4r.rb