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