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