lib/fluent/plugin/out_hipchat.rb in fluent-plugin-hipchat-0.1.3 vs lib/fluent/plugin/out_hipchat.rb in fluent-plugin-hipchat-0.1.4

- old
+ new

@@ -1,8 +1,8 @@ module Fluent - class HipchatOutput < Output + class HipchatOutput < BufferedOutput COLORS = %w(yellow red green purple gray random) FORMAT = %w(html text) Fluent::Plugin.register_output('hipchat', self) config_param :api_token, :string @@ -13,10 +13,11 @@ config_param :default_format, :string, :default => nil config_param :http_proxy_host, :string, :default => nil config_param :http_proxy_port, :integer, :default => nil config_param :http_proxy_user, :string, :default => nil config_param :http_proxy_pass, :string, :default => nil + config_param :flush_interval, :time, :default => 1 attr_reader :hipchat def initialize super @@ -39,18 +40,22 @@ conf['http_proxy_user'], conf['http_proxy_pass']) end end - def emit(tag, es, chain) - es.each {|time, record| + def format(tag, time, record) + [tag, time, record].to_msgpack + end + + def write(chunk) + chunk.msgpack_each do |(tag,time,record)| begin send_message(record) if record['message'] set_topic(record) if record['topic'] rescue => e $log.error("HipChat Error: #{e} / #{e.message}") end - } + end end def send_message(record) room = record['room'] || @default_room from = record['from'] || @default_from