Sha256: 853cfbc53359460d5230f292f8297283c32527e22aae91060128550d5ee99b29

Contents?: true

Size: 1.55 KB

Versions: 17

Compression:

Stored size: 1.55 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

      attr_accessor :log_level

      def initialize(delegate)
        @logger = delegate
        # Match Logger levels
        @log_level = 1 # Logger::INFO
      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

      def debug?
        # Logger::DEBUG
        0 >= @log_level
      end

      def info?
        # Logger::INFO
        1 >= @log_level
      end

      def warn?
        # Logger::WARN
        2 >= @log_level
      end

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

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
killbill-3.1.6 lib/killbill/killbill_logger.rb
killbill-3.1.5 lib/killbill/killbill_logger.rb
killbill-3.1.4 lib/killbill/killbill_logger.rb
killbill-3.1.3 lib/killbill/killbill_logger.rb
killbill-3.1.2 lib/killbill/killbill_logger.rb
killbill-3.1.1 lib/killbill/killbill_logger.rb
killbill-3.1.0 lib/killbill/killbill_logger.rb
killbill-3.0.0 lib/killbill/killbill_logger.rb
killbill-2.0.1 lib/killbill/killbill_logger.rb
killbill-2.0.0 lib/killbill/killbill_logger.rb
killbill-1.9.0 lib/killbill/killbill_logger.rb
killbill-1.8.4 lib/killbill/killbill_logger.rb
killbill-1.8.3 lib/killbill/killbill_logger.rb
killbill-1.8.2 lib/killbill/killbill_logger.rb
killbill-1.8.1 lib/killbill/killbill_logger.rb
killbill-1.8.0 lib/killbill/killbill_logger.rb
killbill-1.7.1 lib/killbill/killbill_logger.rb