lib/killbill/killbill_logger.rb in killbill-1.0.15 vs lib/killbill/killbill_logger.rb in killbill-1.0.16

- old
+ new

@@ -1,26 +1,49 @@ # Plugin logger that will delegate to the OSGI LogService +# Used for regular logging for plugins, as well as Rack logger and Error Stream +# Methods to implement for rack are described here: http://rack.rubyforge.org/doc/SPEC.html module Killbill module Plugin class KillbillLogger def initialize(delegate) @logger = delegate end - def debug(msg) - @logger.log(4, msg) + def debug(message, &block) + @logger.log(4, build_message(message, &block)) end - def info(msg) - @logger.log(3, msg) + def info(message, &block) + @logger.log(3, build_message(message, &block)) end - def warn(msg) - @logger.log(2, msg) + def warn(message, &block) + @logger.log(2, build_message(message, &block)) end - def error(msg) - @logger.log(1, msg) + def error(message, &block) + @logger.log(1, build_message(message, &block)) + end + + # Rack Error stream + alias_method :puts, :warn + alias_method :write, :warn + + def flush + end + + def close + end + + def build_message(message, &block) + if message.nil? + if block_given? + message = yield + else + message = "(nil)" + end + end + message.nil? ? "(nil)" : message.to_s end alias_method :fatal, :error # XXX TODO