Using loggable module instead of redeclaring logging methods in multiple files
This commit is contained in:
parent
03de5d3456
commit
fde7148ee1
|
@ -1,6 +1,7 @@
|
|||
require 'java'
|
||||
require 'red_storm/configurator'
|
||||
require 'red_storm/environment'
|
||||
require 'red_storm/loggable'
|
||||
require 'pathname'
|
||||
|
||||
java_import 'backtype.storm.tuple.Fields'
|
||||
|
@ -12,16 +13,13 @@ module RedStorm
|
|||
class BoltError < StandardError; end
|
||||
|
||||
class Bolt
|
||||
include Loggable
|
||||
attr_reader :collector, :context, :config
|
||||
|
||||
|
||||
def self.java_proxy; "Java::RedstormStormJruby::JRubyBolt"; end
|
||||
|
||||
# DSL class methods
|
||||
|
||||
def self.log
|
||||
@log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name.gsub(/::/,'.'))
|
||||
end
|
||||
|
||||
def self.output_fields(*fields)
|
||||
@fields = fields.map(&:to_s)
|
||||
end
|
||||
|
@ -54,10 +52,6 @@ module RedStorm
|
|||
|
||||
# DSL instance methods
|
||||
|
||||
def log
|
||||
self.class.log
|
||||
end
|
||||
|
||||
def unanchored_emit(*values)
|
||||
@collector.emit_tuple(Values.new(*values))
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
require 'java'
|
||||
require 'red_storm/configurator'
|
||||
require 'red_storm/environment'
|
||||
require 'red_storm/loggable'
|
||||
require 'pathname'
|
||||
|
||||
module RedStorm
|
||||
|
@ -9,6 +10,7 @@ module RedStorm
|
|||
class SpoutError < StandardError; end
|
||||
|
||||
class Spout
|
||||
include Loggable
|
||||
attr_reader :config, :context, :collector
|
||||
|
||||
def self.java_proxy; "Java::RedstormStormJruby::JRubySpout"; end
|
||||
|
@ -19,10 +21,6 @@ module RedStorm
|
|||
@configure_block = block_given? ? configure_block : lambda {}
|
||||
end
|
||||
|
||||
def self.log
|
||||
@log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name.gsub(/::/,'.'))
|
||||
end
|
||||
|
||||
def self.output_fields(*fields)
|
||||
@fields = fields.map(&:to_s)
|
||||
end
|
||||
|
@ -82,10 +80,6 @@ module RedStorm
|
|||
end
|
||||
alias_method :emit, :unreliable_emit
|
||||
|
||||
def log
|
||||
self.class.log
|
||||
end
|
||||
|
||||
# Spout proxy interface
|
||||
|
||||
def next_tuple
|
||||
|
|
|
@ -2,14 +2,21 @@ require 'java'
|
|||
|
||||
module RedStorm
|
||||
module Loggable
|
||||
|
||||
def self.log
|
||||
@log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name)
|
||||
def self.included(clazz)
|
||||
clazz.send(:extend, ClassMethods)
|
||||
clazz.send(:include, InstanceMethods)
|
||||
end
|
||||
|
||||
def log
|
||||
self.class.log
|
||||
module ClassMethods
|
||||
def log
|
||||
@log ||= Java::OrgSlf4j::LoggerFactory.get_logger(self.name.gsub(/::/, '.'))
|
||||
end
|
||||
end
|
||||
|
||||
module InstanceMethods
|
||||
def log
|
||||
self.class.log
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue