Sha256: fb1d44069bf36432230c5a966dc2c849babd071129ec71662daa8a609bc7f889

Contents?: true

Size: 593 Bytes

Versions: 3

Compression:

Stored size: 593 Bytes

Contents

require 'logger'
require 'time'

class Logger
  def level=(value)
    if value.is_a? Symbol
      @level = mapping.fetch(value, UNKNOWN)
    else
      @level = value
    end
  end

  def mapping
    {
      debug: DEBUG,
      info: INFO,
      warn: WARN,
      error: ERROR,
      fatal: FATAL,
      unknown: UNKNOWN
    }
  end

  class Formatter
    def call(severity, time, progname, msg)
      format % [
        time.utc.iso8601,
        progname,
        $$,
        severity,
        msg2str(msg).strip
      ]
    end

    def format
      "%s [%s#%d] %5s: %s\n"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
logger-better-0.1.3 lib/logger/better.rb
logger-better-0.1.2 lib/logger/better.rb
logger-better-0.1.1 lib/logger/better.rb