Sha256: 409b96f644b12d26e6201ad7dd70972c56b0b92afb84687e6a21ca18af088038
Contents?: true
Size: 1.54 KB
Versions: 4
Compression:
Stored size: 1.54 KB
Contents
# Copyright: Copyright (c) 2004 Nicolas Pouillard. All rights reserved. # Author: Nicolas Pouillard <ertai@lrde.epita.fr>. # License: Gnu General Public License. # $LastChangedBy: polrop $ # $Id: dlogger.rb 99 2005-01-13 19:14:44Z polrop $ require 'logger' # This Logger subclass permit to use more debug levels # # log = DLogger.new(STDERR) # log.level = -1 # log.debug1 "You see me" # log.debug2 "You see me" # log.debug3 "You don't see me" # class DLogger < Logger def format_severity ( severity ) return super if severity >= 0 return "DEBUG#{severity.abs + 1}" end private :format_severity def method_missing ( meth, progname=nil, *args, &block ) return super unless meth.to_s =~ /^debug(\d+)$/ or !args.empty add(-$1.to_i + 1, nil, progname, &block) end Format = "%s, [%s#%d] %6s -- %s: %s\n" def format_message(severity, timestamp, msg, progname) Format % [severity[0..0], timestamp, $$, severity, progname, msg] end private :format_message end # class DLogger if defined? TEST_MODE or $0 == __FILE__ require 'stringio' require 'test/unit' class DLoggerTest < Test::Unit::TestCase def test1 cout = StringIO.new log = DLogger.new(cout) log.level = -1 log.debug1 'You see me' log.debug3 'You don\'t see me' log.debug2 'You see me' cout.rewind ref = /D, \[\d+-\d+-\d+.\d+:\d+:\d+\.\d+ #\d+\] DEBUG -- : You see me D, \[\d+-\d+-\d+.\d+:\d+:\d+\.\d+ #\d+\] DEBUG2 -- : You see me/ assert_match(ref, cout.readlines.join) end end # class DLoggerTest end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
ttk-0.1.576 | ruby_ex/dlogger.rb |
ttk-0.1.580 | ruby_ex/dlogger.rb |
ttk-0.1.579 | ruby_ex/dlogger.rb |
vcs-0.2.148 | ruby_ex/dlogger.rb |