class Moneta::Logger::Format
Standard formatter used by the logger @api public
Public Class Methods
new(options)
click to toggle source
# File lib/moneta/logger.rb, line 8 def initialize(options) @prefix = options[:prefix] || 'Moneta ' if options[:file] @close = true @out = File.open(options[:file], 'a') else @close = options[:close] @out = options[:out] || STDOUT end end
Public Instance Methods
close()
click to toggle source
# File lib/moneta/logger.rb, line 23 def close @out.close if @close end
log(entry)
click to toggle source
# File lib/moneta/logger.rb, line 19 def log(entry) @out.write(format(entry)) end
Protected Instance Methods
dump(value)
click to toggle source
# File lib/moneta/logger.rb, line 40 def dump(value) value = value.inspect value.size > 30 ? value[0..30] + '...' : value end
format(entry)
click to toggle source
# File lib/moneta/logger.rb, line 29 def format(entry) args = entry[:args] args.pop if Hash === args.last && args.last.empty? args = args.map {|a| dump(a) }.join(', ') if entry[:error] "#{@prefix}#{entry[:method]}(#{args}) raised error: #{entry[:error].message}\n" else "#{@prefix}#{entry[:method]}(#{args}) -> #{dump entry[:return]}\n" end end