Sha256: a383c73490e8ea50aa8b52b4cb404c8cbce5eede5f584fd80db7ba33243b426a

Contents?: true

Size: 646 Bytes

Versions: 3

Compression:

Stored size: 646 Bytes

Contents

require 'logger'

module WorldLogger
  def self.logger
    if @logger.nil?
      @logger ||= Logger.new($stdout)
      @logger.level = Logger::ERROR
    end
    
    @logger
  end
  
  class NoRaiseObject
    def method_missing name, *args, &block
      return self
    end
  end
  
  def logger
    return @__no_raise_object ||= NoRaiseObject.new if @__logger_disabled
    
    if self.class.const_defined? :Rails
      Rails.logger
    else
      WorldLogger.logger
    end
  end
  
  def disable_logger!
    @__logger_disabled = true
  end
  
  def enable_logger!
    @__logger_disabled = false
  end
  
end

Object.send :include, WorldLogger

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
elia-2.4.2.pre lib/world_logger.rb
elia-2.4.1 lib/world_logger.rb
elia-2.3.2 lib/world_logger.rb