Sha256: 1041f1fd647a31f1a152f3ba9ab9b71034e1a18b356c7fc9727dea0bd7573960
Contents?: true
Size: 1.84 KB
Versions: 2
Compression:
Stored size: 1.84 KB
Contents
require_relative 'logger/null_logger' require 'logger' require 'time' class Logger class Better < Logger module LevelPatch def level=(value) if value.is_a? Symbol @level = mapping.fetch(value, Logger::UNKNOWN) else @level = value end end def mapping { debug: Logger::DEBUG, info: Logger::INFO, warn: Logger::WARN, error: Logger::ERROR, fatal: Logger::FATAL, unknown: Logger::UNKNOWN } end end include LevelPatch class << self def no_timestamp(*args, &block) new(*args, &block).tap do |logger| logger.formatter = NoTimestampFormatter.new end end end def initialize(*) super @formatter = TimestampFormatter.new end class TimestampFormatter < 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 class NoTimestampFormatter < Formatter def call(severity, time, progname, msg) format % [ progname, $$, severity, msg2str(msg).strip ] end def format "[%s#%d] %5s: %s\n" end end end module BetterPatch def initialize(*) super @formatter = Better::TimestampFormatter.new end class << self def included(base) base.prepend Better::LevelPatch end end end module NoTimestampPatch def initialize(*) super @formatter = Better::NoTimestampFormatter.new end class << self def included(base) base.prepend Better::LevelPatch end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
logger-better-0.2.2 | lib/logger-better.rb |
logger-better-0.2.1 | lib/logger-better.rb |