Sha256: 1f5f4b174aa7b0724cd6aafb75a179f9499cbcd6214159dcb1065edb274c00c4
Contents?: true
Size: 1.82 KB
Versions: 1
Compression:
Stored size: 1.82 KB
Contents
# encoding: utf-8 require "logstash/codecs/base" require "logstash/util/charset" require 'logstash/plugin_mixins/ecs_compatibility_support' require 'logstash/plugin_mixins/event_support/event_factory_adapter' # The "plain" codec is for plain text with no delimiting between events. # # This is mainly useful on inputs and outputs that already have a defined # framing in their transport protocol (such as zeromq, rabbitmq, redis, etc) class LogStash::Codecs::Plain < LogStash::Codecs::Base include LogStash::PluginMixins::ECSCompatibilitySupport(:disabled, :v1, :v8 => :v1) include LogStash::PluginMixins::EventSupport::EventFactoryAdapter config_name "plain" # Set the message you which to emit for each event. This supports `sprintf` # strings. # # This setting only affects outputs (encoding of events). config :format, :validate => :string # The character encoding used in this input. Examples include `UTF-8` # and `cp1252` # # This setting is useful if your log files are in `Latin-1` (aka `cp1252`) # or in another character set other than `UTF-8`. # # This only affects "plain" format logs since json is `UTF-8` already. config :charset, :validate => ::Encoding.name_list, :default => "UTF-8" def initialize(*params) super @original_field = ecs_select[disabled: nil, v1: '[event][original]'] @converter = LogStash::Util::Charset.new(@charset) @converter.logger = @logger end def register # no-op end MESSAGE_FIELD = "message".freeze def decode(data) message = @converter.convert(data) event = event_factory.new_event event.set MESSAGE_FIELD, message event.set @original_field, message.dup.freeze if @original_field yield event end def encode(event) encoded = @format ? event.sprintf(@format) : event.to_s @on_event.call(event, encoded) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
logstash-codec-plain-3.1.0 | lib/logstash/codecs/plain.rb |