Class: Fluent::ReemitOutput

Inherits:
Output
  • Object
show all
Defined in:
lib/fluent/plugin/out_reemit.rb

Defined Under Namespace

Classes: V10Engine, V12EventRouter, V14EventRouter

Instance Method Summary collapse

Instance Method Details

#configure(conf) ⇒ Object



15
16
17
# File 'lib/fluent/plugin/out_reemit.rb', line 15

def configure(conf)
  super
end

#emit(tag, es, chain) ⇒ Object



34
35
36
37
38
39
# File 'lib/fluent/plugin/out_reemit.rb', line 34

def emit(tag, es, chain)
  @router.emit_stream(tag, es)
  chain.next
rescue => e
  log.warn "reemit: #{e.class} #{e.message} #{e.backtrace.first}"
end

#included?(collector) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/fluent/plugin/out_reemit.rb', line 46

def included?(collector)
  return false if collector.nil?
  if collector == self
    true
  elsif collector.respond_to?(:outputs) # MultiOutput
    collector.outputs.each do |o|
      return true if self.included?(o)
    end
    false
  else
    false
  end
end

#startObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/fluent/plugin/out_reemit.rb', line 19

def start
  super
  event_router = Engine.instance_variable_get(:@event_router)
  @router =
    if event_router
      if v14?(event_router)
        V14EventRouter.new(self)
      else
        V12EventRouter.new(self)
      end
    else
      V10Engine.new(self)
    end
end

#v14?(event_router) ⇒ Boolean

Returns:

  • (Boolean)


41
42
43
44
# File 'lib/fluent/plugin/out_reemit.rb', line 41

def v14?(event_router)
  default_collector = event_router.instance_variable_get(:@default_collector)
  default_collector.respond_to?(:emit_events)
end