class LogStash::Codecs::EDNLines

Public Class Methods

new(params={}) click to toggle source
Calls superclass method LogStash::Codecs::Base::new
# File lib/logstash/codecs/edn_lines.rb, line 14
def initialize(params={})
  super(params)
  @lines = LogStash::Codecs::Line.new
end

Public Instance Methods

decode(data) { |event(read)| ... } click to toggle source
# File lib/logstash/codecs/edn_lines.rb, line 20
def decode(data)
  @lines.decode(data) do |event|
    begin
      yield LogStash::Event.new(EDN.read(event["message"]))
    rescue => e
      @logger.info("EDN parse failure. Falling back to plain-text", :error => e, :data => data)
      yield LogStash::Event.new("message" => data)
    end
  end
end
encode(data) click to toggle source
# File lib/logstash/codecs/edn_lines.rb, line 32
def encode(data)
  @on_event.call(data.to_hash.to_edn + "\n")
end
register() click to toggle source
# File lib/logstash/codecs/edn_lines.rb, line 9
def register
  require "edn"
end