Sha256: 4abeb9ebef7abdcf3a6ec7370fe3b4b34eac439b8c8c0d30ac93143e109a32a1
Contents?: true
Size: 925 Bytes
Versions: 2
Compression:
Stored size: 925 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})\\n #{e.backtrace.join("\\n ")}}" else message.to_s.gsub(/\n/, "\\n") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
strftime_logger-0.0.4 | lib/strftime_logger/formatter.rb |
strftime_logger-0.0.3 | lib/strftime_logger/formatter.rb |