Sha256: 73684bd02aa0719d56cc844d4ba52c2fdafe6d9caf17cf372fec3895fb75dd17
Contents?: true
Size: 1.44 KB
Versions: 2
Compression:
Stored size: 1.44 KB
Contents
module Stickler # # containment for the output that a user should see. This uses a Logger so # that it can be throttled based on level at some point # class Console class << self # # Items that get logged to stderr for the user to see should use this logger # def logger unless @logger @logger = ::Logging::Logger['User'] @logger.level = :info @logger.add_appenders(::Logging::Appender.stderr) ::Logging::Appender.stderr.layout = Logging::Layouts::Pattern.new( :pattern => "%m\n" ) ::Logging::Appender.stderr.level = :info end return @logger end # force initialization Console.logger # # default logging leve # def default_level :info end # # Quick wrappers around the log levels # ::Logging::LEVELS.keys.each do |l| module_eval <<-code def #{ l }( msg ) @logger.#{l} msg end code end # # Turn off the logging # def silent! logger.level = :off end # # Resume logging # def resume! logger.level = self.default_level end # # Turn off logging for the execution of a block # def silent( &block ) begin silent! block.call ensure resume! end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stickler-0.1.0 | lib/stickler/console.rb |
stickler-0.1.1 | lib/stickler/console.rb |