Sha256: 78a04ba9b26fb03a116d1358364b226e90f090157ae559a2ecec1bbbd2e1d8ff
Contents?: true
Size: 910 Bytes
Versions: 1
Compression:
Stored size: 910 Bytes
Contents
require 'time' class StrftimeLogger class Formatter FORMAT = "%s [%s] %s\n" LEVEL_TEXT = %w(DEBUG INFO WARN ERROR FATAL UNKNOWN) def initialize(opts={}) end def call(severity, message = nil, &block) if message.nil? if block_given? message = yield else message = "" end end if severity.nil? format_message(message) + "\n" else FORMAT % [format_datetime(Time.now), format_severity(severity), format_message(message)] end end private def format_datetime(time) time.iso8601 end def format_severity(severity) LEVEL_TEXT[severity] end def format_message(message) case message when ::Exception e = message "#{e.class} #{e.message} #{e.backtrace.first}" else message.to_s.gsub(/\n/, "\\n") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
strftime_logger-0.0.2 | lib/strftime_logger/formatter.rb |