Sha256: bf8157fae648f56e9af1baf2e8518405ce7ba8eadb1f1d3bed2de895a5dd6bdf

Contents?: true

Size: 1.05 KB

Versions: 9

Compression:

Stored size: 1.05 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

      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
            }
          )

          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

9 entries across 9 versions & 2 rubygems

Version Path
fluent-plugin-gelf-best-test-1.3.8 lib/fluent/plugin/formatter_gelf.rb
fluent-plugin-gelf-best-test-1.3.7 lib/fluent/plugin/formatter_gelf.rb
fluent-plugin-gelf-best-test-1.3.6 lib/fluent/plugin/formatter_gelf.rb
fluent-plugin-gelf-best-test-1.3.5 lib/fluent/plugin/formatter_gelf.rb
fluent-plugin-gelf-best-test-1.3.4 lib/fluent/plugin/formatter_gelf.rb
fluent-plugin-gelf-best-1.3.3 lib/fluent/plugin/formatter_gelf.rb
fluent-plugin-gelf-best-1.3.2 lib/fluent/plugin/formatter_gelf.rb
fluent-plugin-gelf-best-1.3.0 lib/fluent/plugin/formatter_gelf.rb
fluent-plugin-gelf-best-1.2.0 lib/fluent/plugin/formatter_gelf.rb