diff --git a/lib/red_storm/dsl/bolt.rb b/lib/red_storm/dsl/bolt.rb index 776cc44..73855c6 100644 --- a/lib/red_storm/dsl/bolt.rb +++ b/lib/red_storm/dsl/bolt.rb @@ -19,7 +19,7 @@ module RedStorm # DSL class methods def self.log - @log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name) + @log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name.gsub(/::/,'.')) end def self.output_fields(*fields) diff --git a/lib/red_storm/dsl/spout.rb b/lib/red_storm/dsl/spout.rb index 91a2506..e1aa9ea 100644 --- a/lib/red_storm/dsl/spout.rb +++ b/lib/red_storm/dsl/spout.rb @@ -20,7 +20,7 @@ module RedStorm end def self.log - @log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name) + @log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name.gsub(/::/,'.')) end def self.output_fields(*fields) diff --git a/lib/red_storm/dsl/topology.rb b/lib/red_storm/dsl/topology.rb index a7c6417..db4e02c 100644 --- a/lib/red_storm/dsl/topology.rb +++ b/lib/red_storm/dsl/topology.rb @@ -102,7 +102,7 @@ module RedStorm end def self.log - @log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name) + @log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name.gsub(/::/,'.')) end # def self.spout(spout_class, contructor_args = [], options = {}, &spout_block) diff --git a/spec/red_storm/dsl/bolt_spec.rb b/spec/red_storm/dsl/bolt_spec.rb index 7ea12ca..77d22b6 100644 --- a/spec/red_storm/dsl/bolt_spec.rb +++ b/spec/red_storm/dsl/bolt_spec.rb @@ -335,7 +335,7 @@ describe RedStorm::SimpleBolt do class Java::OrgSlf4j::LoggerFactory; end describe "in class" do - it "should proxy to storm log4j logger" do + it "should proxy to storm slf4j logger" do logger = mock(Java::OrgSlf4j::Logger) Java::OrgSlf4j::LoggerFactory.should_receive("get_logger").with("Bolt1").and_return(logger) logger.should_receive(:info).with("test") @@ -363,7 +363,7 @@ describe RedStorm::SimpleBolt do end describe "in instance" do - it "should proxy to storm log4j logger" do + it "should proxy to storm slf4j logger" do logger = mock(Java::OrgSlf4j::Logger) Java::OrgSlf4j::LoggerFactory.should_receive("get_logger").with("Bolt1").and_return(logger) @@ -397,6 +397,22 @@ describe RedStorm::SimpleBolt do bolt2 = Bolt2.new bolt2.prepare(nil, nil, nil) end + + it "should conform to SLF4J Named Hierarchy when loading loggers" do + logger = mock(Java::OrgSlf4j::Logger) + Java::OrgSlf4j::LoggerFactory.should_receive("get_logger").with("Named.Hierarchy.Bolt").and_return(logger) + module Named + module Hierarchy + class Bolt < RedStorm::SimpleBolt + on_init {log.info("test1")} + end + end + end + + logger.should_receive(:info).with("test1") + bolt = Named::Hierarchy::Bolt.new + bolt.prepare(nil, nil, nil) + end end end end diff --git a/spec/red_storm/dsl/spout_spec.rb b/spec/red_storm/dsl/spout_spec.rb index ee61b4d..d2fb764 100644 --- a/spec/red_storm/dsl/spout_spec.rb +++ b/spec/red_storm/dsl/spout_spec.rb @@ -413,7 +413,7 @@ describe RedStorm::SimpleSpout do class Java::OrgSlf4j::LoggerFactory; end describe "in class" do - it "should proxy to storm log4j logger" do + it "should proxy to storm slf4j logger" do logger = mock(Java::OrgSlf4j::Logger) Java::OrgSlf4j::LoggerFactory.should_receive("get_logger").with("Spout1").and_return(logger) logger.should_receive(:info).with("test") @@ -441,7 +441,7 @@ describe RedStorm::SimpleSpout do end describe "in instance" do - it "should proxy to storm log4j logger" do + it "should proxy to storm slf4j logger" do logger = mock(Java::OrgSlf4j::Logger) Java::OrgSlf4j::LoggerFactory.should_receive("get_logger").with("Spout1").and_return(logger) @@ -475,6 +475,22 @@ describe RedStorm::SimpleSpout do spout2 = Spout2.new spout2.open(nil, nil, nil) end + + it "should conform to SLF4J Named Hierarchy when loading loggers" do + logger = mock(Java::OrgSlf4j::Logger) + Java::OrgSlf4j::LoggerFactory.should_receive("get_logger").with("Named.Hierarchy.Spout").and_return(logger) + module Named + module Hierarchy + class Spout < RedStorm::SimpleSpout + on_init {log.info("test1")} + end + end + end + + logger.should_receive(:info).with("test1") + spout = Named::Hierarchy::Spout.new + spout.open(nil, nil, nil) + end end end end