Class: LogStash::Codecs::Line
- Inherits:
-
Base
- Object
- Base
- LogStash::Codecs::Line
- Includes:
- PluginMixins::EventSupport::EventFactoryAdapter
- Defined in:
- lib/logstash/codecs/line.rb
Overview
Line-oriented text data.
Decoding behavior: Only whole line events will be emitted.
Encoding behavior: Each event will be emitted with a trailing newline.
Constant Summary collapse
- MESSAGE_FIELD =
"message".freeze
Instance Method Summary collapse
- #decode(data) ⇒ Object
- #encode(event) ⇒ Object
- #flush(&block) ⇒ Object
-
#initialize(*params) ⇒ Line
constructor
A new instance of Line.
- #register ⇒ Object
Constructor Details
#initialize(*params) ⇒ Line
Returns a new instance of Line.
35 36 37 38 39 |
# File 'lib/logstash/codecs/line.rb', line 35 def initialize(*params) super @original_field = ecs_select[disabled: nil, v1: '[event][original]'] end |
Instance Method Details
#decode(data) ⇒ Object
50 51 52 |
# File 'lib/logstash/codecs/line.rb', line 50 def decode(data) @buffer.extract(data).each { |line| yield new_event_from_line(line) } end |
#encode(event) ⇒ Object
61 62 63 64 |
# File 'lib/logstash/codecs/line.rb', line 61 def encode(event) encoded = @format ? event.sprintf(@format) : event.to_s @on_event.call(event, encoded + @delimiter) end |
#flush(&block) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/logstash/codecs/line.rb', line 54 def flush(&block) remainder = @buffer.flush if !remainder.empty? block.call new_event_from_line(remainder) end end |
#register ⇒ Object
43 44 45 46 47 48 |
# File 'lib/logstash/codecs/line.rb', line 43 def register require "logstash/util/buftok" @buffer = FileWatch::BufferedTokenizer.new(@delimiter) @converter = LogStash::Util::Charset.new(@charset) @converter.logger = @logger end |