Sha256: 78cf0b31a8a9607b25375c5ca6b283286359973b6791039577a37a5ff589431d

Contents?: true

Size: 1.37 KB

Versions: 12

Compression:

Stored size: 1.37 KB

Contents

# 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(message, &block)
        @logger.log(4, build_message(message, &block))
      end

      def info(message, &block)
        @logger.log(3, build_message(message, &block))
      end

      def warn(message, &block)
        @logger.log(2, build_message(message, &block))
      end

      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
      def debug?
        false
      end

      def info?
        true
      end

      def warn?
        true
      end

      alias_method :error?, :warn?
      alias_method :fatal?, :error?
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
killbill-1.7.0 lib/killbill/killbill_logger.rb
killbill-1.6.0 lib/killbill/killbill_logger.rb
killbill-1.5.0 lib/killbill/killbill_logger.rb
killbill-1.4.0 lib/killbill/killbill_logger.rb
killbill-1.3.0 lib/killbill/killbill_logger.rb
killbill-1.2.0 lib/killbill/killbill_logger.rb
killbill-1.1.2 lib/killbill/killbill_logger.rb
killbill-1.1.1 lib/killbill/killbill_logger.rb
killbill-1.0.19 lib/killbill/killbill_logger.rb
killbill-1.0.18 lib/killbill/killbill_logger.rb
killbill-1.0.17 lib/killbill/killbill_logger.rb
killbill-1.0.16 lib/killbill/killbill_logger.rb