lib/hornetq/common/logging.rb in jruby-hornetq-0.2.5.alpha vs lib/hornetq/common/logging.rb in jruby-hornetq-0.3.0.alpha
- old
+ new
@@ -1,32 +1,45 @@
# Add HornetQ logging capabilities
module HornetQ
# Returns the logger being used by both HornetQ and jruby-hornetq
def self.logger
- @logger ||= (rails_logger || default_logger)
+ @logger ||= (self.rails_logger || self.default_logger)
end
# Replace the logger for both HornetQ and jruby-hornetq
# TODO Directly support Log4J as logger since HornetQ has direct support for Log4J
def self.logger=(logger)
@logger = logger
# Also replace the HornetQ logger
- Java::org.hornetq.core.logging::Logger.setDelegateFactory(HornetQ::LogDelegateFactory.new)
+ if @logger
+ Java::org.hornetq.core.logging::Logger.setDelegateFactory(HornetQ::LogDelegateFactory.new)
+ else
+ Java::org.hornetq.core.logging::Logger.reset
+ end
# TODO org.hornetq.core.logging.Logger.setDelegateFactory(org.hornetq.integration.logging.Log4jLogDelegateFactory.new)
end
+ # Use the ruby logger, but add needed trace level logging which will result
+ # in debug log entries
+ def self.ruby_logger(level=nil, target=STDOUT)
+ require 'logger'
+
+ l = ::Logger.new(target)
+ l.instance_eval "alias :trace :debug"
+ l.instance_eval "alias :trace? :debug?"
+ l.level = level || ::Logger::INFO
+ l
+ end
+
private
def self.rails_logger
(defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger) ||
(defined?(RAILS_DEFAULT_LOGGER) && RAILS_DEFAULT_LOGGER.respond_to?(:debug) && RAILS_DEFAULT_LOGGER)
end
# By default we use the HornetQ Logger
def self.default_logger
+ # Needs an actual Java class, so give it: org.hornetq.api.core.client::HornetQClient
Java::org.hornetq.core.logging::Logger.getLogger(org.hornetq.api.core.client::HornetQClient)
- # require 'logger'
- # l = Logger.new(STDOUT)
- # l.level = Logger::INFO
- # l
end
-
+
end