Class: Fluent::AddOutput

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

Instance Method Summary collapse

Constructor Details

#initializeAddOutput

Returns a new instance of AddOutput.



7
8
9
# File 'lib/fluent/plugin/out_add.rb', line 7

def initialize
  super
end

Instance Method Details

#configure(conf) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/fluent/plugin/out_add.rb', line 11

def configure(conf)
  super

  # @key = @key.to_s
  # @value = @value.to_s 
  @tag_prefix = "#{@add_tag_prefix}."
  @add_hash = Hash.new

  @tag_proc =
    if @tag_prefix
      Proc.new {|tag| "#{@tag_prefix}#{tag}" }
    else
      Proc.new {|tag| tag }
    end
  conf.elements.select {|element|
    element.name == 'pair' 
  }.each do |pair|
    pair.each do | k,v|
     @add_hash[k] = v
    end
  end 
end

#emit(tag, es, chain) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/fluent/plugin/out_add.rb', line 34

def emit(tag, es, chain)
  emit_tag = @tag_proc.call(tag)

  es.each do |time,record|
    # record[@key] = @value
    @add_hash.each do |k,v|
      record[k] = v
    end
    Fluent::Engine.emit(emit_tag, time, record)
  end

  chain.next
end