Skip to content

Instantly share code, notes, and snippets.

Last active April 17, 2017 23:01
Show Gist options
  • Save morhekil/8383627 to your computer and use it in GitHub Desktop.
Save morhekil/8383627 to your computer and use it in GitHub Desktop.
json_file_gz codec for Logstash, to handle gzipped json files handled to it as file names in the input stream. Details:
# encoding: utf-8
require 'logstash/codecs/base'
class LogStash::Codecs::JsonFileGz < LogStash::Codecs::Base
config_name 'json_file_gz'
milestone 1
def register
require 'zlib'
def decode(path)
json_data = { |f| }
rescue Zlib::GzipFile::Error => e'Gzip failure, skipped', :error => e, :data => json_data)
yield if json_data
rescue JSON::ParserError => e'JSON parse failure. Falling back to plain-text', :error => e, :data => json_data)
yield'message' => json_data)
end # def decode
def encode(data)
raise NotImplementedError
end # def encode
end # class LogStash::Codecs::JsonFileGz
Copy link

shurane commented Jul 21, 2014

Man this would be a really cool pull request against Logstash... especially if they ended up merging it in.

Copy link

Hi there.! It doesn't work for me :( it says: "Couldn't find any codec plugin named 'json_file_gz'. Are you sure this is correct? Trying to load the json_file_gz codec plugin resulted in this error: no such file to load -- logstash/codecs/json_file_gz". I've my logstash installed @ /opt/logstash.!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment