issue #18 & #47, this should solve Logger issues

This commit is contained in:
Colin Surprenant 2012-10-14 19:06:14 -04:00
parent 9c7906eb2c
commit e7fb5d193c
8 changed files with 37 additions and 33 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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")}

View File

@ -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")}