Sha256: ef632340b53d5d1f5d43bd44c39081fcae30d647ee08bb23b37828163818f74e
Contents?: true
Size: 1007 Bytes
Versions: 1
Compression:
Stored size: 1007 Bytes
Contents
# -*- coding: utf-8 -*- module Fluent class KatsubushiFilter < Filter require 'memcached' Fluent::Plugin.register_filter('katsubushi', self) config_param :id_key, :string, :default => 'id' config_param :integer, :bool, :default => true config_param :host, :string, :default => 'localhost' config_param :port, :integer, :default => 11212 def configure(conf) super end def start super @client = ::Memcached.new(["#{@host}:#{@port}"]) end def shutdown super end def filter(tag, time, record) tries = 3 while tries >= 0 do begin id = @client.get('1', false) record[@id_key] = @integer ? id.to_i : id.to_s rescue => e $log.warn("Couldn't get id from katsubushi: #{e}") if tries == 0 @client.reset ensure tries = tries - 1 end end record end end if defined?(Filter) # Support only >= v0.12 end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-plugin-katsubushi-0.1.0 | lib/fluent/plugin/filter_katsubushi.rb |