Sha256: dd3322cbabdfd9308cf348dc5b9c4fe923f0cdc0ab8556f624d747356cfcb4ac

Contents?: true

Size: 791 Bytes

Versions: 6

Compression:

Stored size: 791 Bytes

Contents

module TorqueBox
  class Logger 

    def initialize name = nil
      category = name || (TORQUEBOX_APP_NAME if defined? TORQUEBOX_APP_NAME) || "TorqueBox"
      @logger = org.jboss.logging::Logger.getLogger( category.to_s.gsub('::','.') )
    end

    [:warn?, :error?, :fatal?].each do |method|
      define_method(method) { true }
    end

    attr_accessor :level

    def method_missing(method, *args, &block)
      delegate = method
      if method.to_s.end_with?('?')
        delegate = "#{method.to_s.chop}_enabled?".to_sym
      end
      self.class.class_eval do
        define_method(method) do |*a, &b|
          params = [ a[0] || (b && b.call) ].compact
          @logger.send(delegate, *params)
        end
      end
      self.send(method, *args, &block)
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
torquebox-base-1.1.1-java lib/torquebox/logger.rb
torquebox-base-1.1-java lib/torquebox/logger.rb
torquebox-base-1.0.1-java lib/torquebox/logger.rb
torquebox-base-1.0.0-java lib/torquebox/logger.rb
torquebox-base-1.0.0.CR2-java lib/torquebox/logger.rb
torquebox-base-1.0.0.CR1-java lib/torquebox/logger.rb