Sha256: 3c0731dbc4642f6cd0bba5c40a0e7cd2cab5b7850bd0a1b3c603b03edb5b52ac
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
class Rad::Logger def initialize stream @stream = stream end def silence &b begin @silence = true b.call ensure @silence = false end end def info obj !@silence && stream && stream.write(indent(obj_to_string(obj)) + "\n") end def warn obj !@silence && stream && stream.write(indent("WARN: " + obj_to_string(obj)) + "\n") end def error obj !@silence && stream && stream.write(indent("ERROR: " + obj_to_string(obj)) + "\n") end def debug obj if !@silence && stream # cutting annoying BSON::ObjectId('4dec6a8d360501476d000004') stuff stream.write(indent(obj_to_string(obj).gsub(/BSON::ObjectId\(([a-z0-9'"]+)\)/, "\\1")) + "\n") end end protected IDENTATION = " " attr_reader :stream def indent string IDENTATION + string.gsub("\n", "\n" + IDENTATION) end def obj_to_string obj if obj.is_a? Exception backtrace = (obj.backtrace && obj.backtrace.sfilter(Exception.filters)) || [] %{\ #{obj.message} #{backtrace.join("\n ")} } else obj.to_s end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rad_core-0.0.16 | lib/rad/environment/_logger.rb |
rad_core-0.0.15 | lib/rad/environment/_logger.rb |
rad_core-0.0.14 | lib/rad/environment/_logger.rb |