Sha256: b40ceacd96afbd76a2e31a5648921b66d1669f5b860cc246a5f2c0551605e327

Contents?: true

Size: 745 Bytes

Versions: 1

Compression:

Stored size: 745 Bytes

Contents

require 'singleton'
require 'logger'
module MediaShelf
  # A singleton logger. That way we can use the same instance all over the place.
  # Singleton claims to be threadsafe. 
  class Log 
    include Singleton
    def silence!
      @logger = Logger.new(File.open('/dev/null', 'w')) 
    end
    def unsilence!
      @logger = Logger.new(STDOUT)
    end
    def initialize
      @logger = Logger.new(STDOUT)
      @logger.datetime_format = "%y%m%d %H:%M:%S"
    end
    def d(msg)
      @logger.debug msg if @logger.level == Logger::DEBUG
    end
    def e(msg)
      @logger.error msg
    end
    def w(msg)
      @logger.warn msg
    end
    def i(msg)
      @logger.info msg
    end
    def f(msg)
      @logger.fatal msg
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shovel-0.0.1 lib/log.rb