Sha256: 9270c597aa96408cc13110ca06dc00f9996b5a2e9b328c10e5f18a9b6343669a
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
require "fluent/mixin/config_placeholders" require "fluent/mixin/plaintextformatter" require 'fluent/mixin/rewrite_tag_name' module Fluent class RemoteSyslogTcpOutput < Fluent::Output Fluent::Plugin.register_output("remote_syslog_tcp", self) config_param :hostname, :string, :default => "" include Fluent::Mixin::PlainTextFormatter include Fluent::Mixin::ConfigPlaceholders include Fluent::HandleTagNameMixin include Fluent::Mixin::RewriteTagName config_param :host, :string config_param :port, :integer, :default => 514 config_param :facility, :string, :default => "syslog" config_param :severity, :string, :default => "debug" config_param :tag, :string, :default => "fluentd" def initialize super require "remote_syslog_logger_custom" require "socket" @loggers = {} end def shutdown @loggers.values.each(&:close) super end def emit(tag, es, chain) es.each do |time, record| new_record = {} record.each_pair do |k, v| if k == 'msec' new_record["timestamp"] = "#{time.to_s}.#{v}".to_f elsif v.is_a?(String) new_record[k] = v.force_encoding("utf-8") else new_record[k] = v end end new_record["test_msg"] = "true" tag = rewrite_tag!(tag.dup) @loggers[tag] ||= RemoteSyslogLoggerCustom::TcpSender.new(@host, @port, facility: new_record['facility'] || @facility, severity: new_record["severity"] || @severity, program: tag, local_hostname: Socket.gethostname) @loggers[tag].transmit format(tag, time, new_record) end chain.next end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-plugin-remote_syslog_tcp-0.3.9.9 | lib/fluent/plugin/out_remote_syslog_tcp.rb |