Sha256: a4ca499ba87a66ddd7fd43389a080f7890828798c41bfa54aa82d5568ff54104
Contents?: true
Size: 1.25 KB
Versions: 3
Compression:
Stored size: 1.25 KB
Contents
require 'log4r' class Object def while_logging_to( dir, fname, &block ) if logdir = BuildTool::Application::instance.log_directory dirname = "#{logdir}/#{dir}" FileUtils.mkdir_p( dirname ) with_warnings_suppressed do $log.add( FileOutputter.new( fname, :filename => "#{dirname}/#{fname}", :level => DEBUG ) ) Outputter[fname].formatter = BuildTool::CmdFormatter.new end end begin yield rescue Exception => e $log.info("More information in #{dirname}/#{fname}") raise e ensure if logdir with_warnings_suppressed do $log.remove( fname ) end end end end end module BuildTool class PlainFormatter < Log4r::Formatter def format(event) sprintf("%s\n", event.data) end end class CmdFormatter < Log4r::Formatter def format(event) if event.level != CMDOUT sprintf("%*s %s> %s\n", MaxLevelLength, LNAMES[event.level], event.name, event.data) else sprintf("%s\n", event.data) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
build-tool-0.0.3 | lib/kde-build/tools/logging.rb |
build-tool-0.0.1 | lib/kde-build/tools/logging.rb |
build-tool-0.0.2 | lib/kde-build/tools/logging.rb |