class Fluent::SyslogOutput
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/fluentd/plugin/out_syslog.rb, line 22 def initialize super require 'socket' require 'syslog_protocol' end
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
# File lib/fluentd/plugin/out_syslog.rb, line 28 def configure(conf) super if not conf['remote_syslog'] raise Fluent::ConfigError.new("remote syslog required") end @socket = UDPSocket.new @packet = SyslogProtocol::Packet.new if remove_tag_prefix = conf['remove_tag_prefix'] @remove_tag_prefix = Regexp.new('^' + Regexp.escape(remove_tag_prefix)) end @facilty = conf['facility'] @severity = conf['severity'] @use_record = conf['use_record'] @payload_key = conf['payload_key'] if not @payload_key @payload_key = "message" end end
emit(tag, es, chain)
click to toggle source
This method is called when an event reaches Fluentd. 'es' is a Fluent::EventStream object that includes multiple events. You can use 'es.each {|time,record| … }' to retrieve events. 'chain' is an object that manages transactions. Call 'chain.next' at appropriate points and rollback if it raises an exception.
# File lib/fluentd/plugin/out_syslog.rb, line 63 def emit(tag, es, chain) tag = tag.sub(@remove_tag_prefix, '') if @remove_tag_prefix chain.next es.each {|time,record| @packet.hostname = hostname if @use_record @packet.facility = record['facility'] || @facilty @packet.severity = record['severity'] || @severity else @packet.facility = @facilty @packet.severity = @severity end if record['time'] time = Time.parse(record['time']) else time = Time.now end @packet.time = time @packet.tag = if tag_key record[tag_key][0..31].gsub(/[\[\]]/,'') # tag is trimmed to 32 chars for syslog_protocol gem compatibility else tag[0..31] # tag is trimmed to 32 chars for syslog_protocol gem compatibility end packet = @packet.dup packet.content = record[@payload_key] @socket.send(packet.assemble, 0, @remote_syslog, @port) } end
shutdown()
click to toggle source
This method is called when shutting down.
Calls superclass method
# File lib/fluentd/plugin/out_syslog.rb, line 54 def shutdown super end
start()
click to toggle source
This method is called when starting.
Calls superclass method
# File lib/fluentd/plugin/out_syslog.rb, line 49 def start super end