class Fluent::ConsulOutput
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_consul.rb, line 9 def initialize super require 'diplomat' end
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_consul.rb, line 14 def configure(conf) super ::Diplomat.configure do |config| config.url = @consul_uri end end
consul_kvs_fmt(data)
click to toggle source
# File lib/fluent/plugin/out_consul.rb, line 33 def consul_kvs_fmt(data) kvs = [] if data.is_a?(Array) || data.is_a?(Hash) data.each_key do |k| r_kvs = consul_kvs_fmt(data[k]) r_kvs.each do |r_kv| kvs << { key: '/' + k + r_kv[:key], value: r_kv[:value] } end end else kvs << { key: '', value: data } end kvs end
format(tag, time, record)
click to toggle source
# File lib/fluent/plugin/out_consul.rb, line 21 def format(tag, time, record) [tag, time, record].to_msgpack end
write(chunk)
click to toggle source
# File lib/fluent/plugin/out_consul.rb, line 25 def write(chunk) chunk.msgpack_each do |tag, time, record| consul_kvs_fmt(record).each do |kv| ::Diplomat.put(@kv_prefix + kv[:key].to_s, kv[:value].to_s) end end end