Sha256: ef04177acc13afdca02a6376c30cab2fdca84940e3be0ad3b29aeb9f9b8bded4
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
require "fluent/plugin/formatter" require "fluent/plugin/gelf_plugin_util" require "yajl" module Fluent module TextFormatter class GelfFormatter < Formatter unless method_defined?(:log) define_method('log') { $log } end Plugin.register_formatter("gelf", self) include Fluent::GelfPluginUtil config_param :use_record_host, :bool, :default => true config_param :add_msec_time, :bool, :default => false config_param :max_bytes, :integer, :default => 32000 def configure(conf) super(conf) end def format(tag, time, record) begin gelfentry = make_gelfentry( tag,time,record, { :use_record_host => @use_record_host, :add_msec_time => @add_msec_time, :max_bytes => @max_bytes } ) Yajl::Encoder.encode(make_gelfentry) rescue Exception => e log.error sprintf( 'Error trying to serialize %s: %s', record.to_s.force_encoding('UTF-8'), e.message.to_s.force_encoding('UTF-8') ) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-plugin-gelf-best-1.3.4 | lib/fluent/plugin/formatter_gelf.rb |