Logstash File Logger
The logstash-file Gem is yet another Logstash logger but instead of using a network transporation layer such as TCP or UDP it writes JSON data to a file.
The LogstashFile::Logger class provides a Logger-like interface by supplying
methods such as info
, error
, etc. Unlike the Logger API they take a 2nd
optional argument that can be used to specify custom fields to set in the
logging message. See below for more information.
Requirements
- Ruby 1.9.3 or newer
Supported Rubies
- Ruby 1.9.3
- Ruby 2.x
- Jruby 1.7 and newer
- Rubinius 2.0 and newer, 2.1 or newer is recommended
Tests are ran on both Travis CI as well as the private Jenkins instance of Olery. Although this Gem may work on Ruby 1.8 we have not verified this nor do we intend to.
Usage
First install the Gem:
gem install logstash-file
Basic logging is as following:
require 'logstash-file'
logger = LogstashFile::Logger.new(STDOUT)
logger.info("Hello!") # => {"@fields": {"level": "info"}, "@message": "Hello!", "@timestamp": "..."}
# Logging using custom fields
logger.info("Hello!", :user => "Alice") # => {"@fields": {"user": "Alice", ...}, ...}
License
The source code of this repository and logstash-file itself are licensed under the MIT license unless specified otherwise. A copy of this license can be found in the file "LICENSE" in the root directory of this repository.