diff --git a/lib/red_storm/loggable.rb b/lib/red_storm/loggable.rb index 5dd0153..f7f12cd 100644 --- a/lib/red_storm/loggable.rb +++ b/lib/red_storm/loggable.rb @@ -1,8 +1,10 @@ +require 'java' + module RedStorm module Loggable def self.log - @log ||= Logger.getLogger(self.name) + @log ||= Java::OrgApacheLog4j::Logger.getLogger(self.name) end def log diff --git a/lib/red_storm/proxy/bolt.rb b/lib/red_storm/proxy/bolt.rb index d8400c1..2c4efc3 100644 --- a/lib/red_storm/proxy/bolt.rb +++ b/lib/red_storm/proxy/bolt.rb @@ -8,7 +8,6 @@ java_import 'backtype.storm.tuple.Tuple' java_import 'backtype.storm.tuple.Fields' java_import 'backtype.storm.tuple.Values' java_import 'java.util.Map' -java_import 'org.apache.log4j.Logger' module Backtype java_import 'backtype.storm.Config' end diff --git a/lib/red_storm/proxy/spout.rb b/lib/red_storm/proxy/spout.rb index 826a182..0dfdd03 100644 --- a/lib/red_storm/proxy/spout.rb +++ b/lib/red_storm/proxy/spout.rb @@ -8,7 +8,6 @@ java_import 'backtype.storm.tuple.Tuple' java_import 'backtype.storm.tuple.Fields' java_import 'backtype.storm.tuple.Values' java_import 'java.util.Map' -java_import 'org.apache.log4j.Logger' module Backtype java_import 'backtype.storm.Config' end diff --git a/lib/red_storm/simple_bolt.rb b/lib/red_storm/simple_bolt.rb index e8522b5..5ee297e 100644 --- a/lib/red_storm/simple_bolt.rb +++ b/lib/red_storm/simple_bolt.rb @@ -1,3 +1,4 @@ +require 'java' require 'red_storm/configurator' module RedStorm @@ -8,7 +9,7 @@ module RedStorm # DSL class methods def self.log - @log ||= Logger.getLogger(self.name) + @log ||= Java::OrgApacheLog4j::Logger.getLogger(self.name) end def self.output_fields(*fields) diff --git a/lib/red_storm/simple_spout.rb b/lib/red_storm/simple_spout.rb index c95b6f4..efe36a3 100644 --- a/lib/red_storm/simple_spout.rb +++ b/lib/red_storm/simple_spout.rb @@ -1,3 +1,4 @@ +require 'java' require 'red_storm/configurator' module RedStorm @@ -12,7 +13,7 @@ module RedStorm end def self.log - @log ||= Logger.getLogger(self.name) + @log ||= Java::OrgApacheLog4j::Logger.getLogger(self.name) end def self.output_fields(*fields) diff --git a/lib/red_storm/simple_topology.rb b/lib/red_storm/simple_topology.rb index 14c236b..880365d 100644 --- a/lib/red_storm/simple_topology.rb +++ b/lib/red_storm/simple_topology.rb @@ -101,7 +101,7 @@ module RedStorm end def self.log - @log ||= org.apache.log4j.Logger.getLogger(self.name) + @log ||= Java::OrgApacheLog4j::Logger.getLogger(self.name) end # def self.spout(spout_class, contructor_args = [], options = {}, &spout_block) diff --git a/spec/red_storm/simple_bolt_spec.rb b/spec/red_storm/simple_bolt_spec.rb index ad9bcdf..aa5764d 100644 --- a/spec/red_storm/simple_bolt_spec.rb +++ b/spec/red_storm/simple_bolt_spec.rb @@ -316,12 +316,13 @@ describe RedStorm::SimpleBolt do # log specs are mostly the same ats in the spout specs. if these are modified, sync with spout describe "log statement" do - class Logger; end # mock log4j Logger class which does not exists in the specs context + module Java::OrgApacheLog4j end; + class Java::OrgApacheLog4j::Logger; end - describe "in class" do + describe "in class" do it "should proxy to storm log4j logger" do - logger = mock(Logger) - Logger.should_receive("getLogger").with("Bolt1").and_return(logger) + logger = mock(Java::OrgApacheLog4j::Logger) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Bolt1").and_return(logger) logger.should_receive(:info).with("test") class Bolt1 < RedStorm::SimpleBolt @@ -330,10 +331,10 @@ describe RedStorm::SimpleBolt do end it "should use own class name as logger id" do - logger1 = mock(Logger) - logger2 = mock(Logger) - Logger.should_receive("getLogger").with("Bolt1").and_return(logger1) - Logger.should_receive("getLogger").with("Bolt2").and_return(logger2) + logger1 = mock(Java::OrgApacheLog4j::Logger) + logger2 = mock(Java::OrgApacheLog4j::Logger) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Bolt1").and_return(logger1) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Bolt2").and_return(logger2) logger1.should_receive(:info).with("test1") logger2.should_receive(:info).with("test2") @@ -348,8 +349,8 @@ describe RedStorm::SimpleBolt do describe "in instance" do it "should proxy to storm log4j logger" do - logger = mock(Logger) - Logger.should_receive("getLogger").with("Bolt1").and_return(logger) + logger = mock(Java::OrgApacheLog4j::Logger) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Bolt1").and_return(logger) class Bolt1 < RedStorm::SimpleBolt on_init {log.info("test")} @@ -361,10 +362,10 @@ describe RedStorm::SimpleBolt do end it "should use own class name as logger id" do - logger1 = mock(Logger) - logger2 = mock(Logger) - Logger.should_receive("getLogger").with("Bolt1").and_return(logger1) - Logger.should_receive("getLogger").with("Bolt2").and_return(logger2) + logger1 = mock(Java::OrgApacheLog4j::Logger) + logger2 = mock(Java::OrgApacheLog4j::Logger) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Bolt1").and_return(logger1) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Bolt2").and_return(logger2) class Bolt1 < RedStorm::SimpleBolt on_init {log.info("test1")} diff --git a/spec/red_storm/simple_spout_spec.rb b/spec/red_storm/simple_spout_spec.rb index ec12398..9fe2807 100644 --- a/spec/red_storm/simple_spout_spec.rb +++ b/spec/red_storm/simple_spout_spec.rb @@ -328,12 +328,13 @@ describe RedStorm::SimpleSpout do # log specs are mostly the same ats in the bolt specs. if these are modified, sync with bolt describe "log statement" do - class Logger; end # mock log4j Logger class which does not exists in the specs context + module Java::OrgApacheLog4j end; + class Java::OrgApacheLog4j::Logger; end describe "in class" do it "should proxy to storm log4j logger" do - logger = mock(Logger) - Logger.should_receive("getLogger").with("Spout1").and_return(logger) + logger = mock(Java::OrgApacheLog4j::Logger) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Spout1").and_return(logger) logger.should_receive(:info).with("test") class Spout1 < RedStorm::SimpleSpout @@ -342,10 +343,10 @@ describe RedStorm::SimpleSpout do end it "should use own class name as logger id" do - logger1 = mock(Logger) - logger2 = mock(Logger) - Logger.should_receive("getLogger").with("Spout1").and_return(logger1) - Logger.should_receive("getLogger").with("Spout2").and_return(logger2) + logger1 = mock(Java::OrgApacheLog4j::Logger) + logger2 = mock(Java::OrgApacheLog4j::Logger) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Spout1").and_return(logger1) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Spout2").and_return(logger2) logger1.should_receive(:info).with("test1") logger2.should_receive(:info).with("test2") @@ -360,8 +361,8 @@ describe RedStorm::SimpleSpout do describe "in instance" do it "should proxy to storm log4j logger" do - logger = mock(Logger) - Logger.should_receive("getLogger").with("Spout1").and_return(logger) + logger = mock(Java::OrgApacheLog4j::Logger) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Spout1").and_return(logger) class Spout1 < RedStorm::SimpleSpout on_init {log.info("test")} @@ -373,10 +374,10 @@ describe RedStorm::SimpleSpout do end it "should use own class name as logger id" do - logger1 = mock(Logger) - logger2 = mock(Logger) - Logger.should_receive("getLogger").with("Spout1").and_return(logger1) - Logger.should_receive("getLogger").with("Spout2").and_return(logger2) + logger1 = mock(Java::OrgApacheLog4j::Logger) + logger2 = mock(Java::OrgApacheLog4j::Logger) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Spout1").and_return(logger1) + Java::OrgApacheLog4j::Logger.should_receive("getLogger").with("Spout2").and_return(logger2) class Spout1 < RedStorm::SimpleSpout on_init {log.info("test1")}