Skip to content

Shopify/buffered-logger

 
 

Repository files navigation

Build Status

buffered-logger

buffered-logger is a concurrency safe logger. It buffers each logging statement and writes to the log file all at once.

Description

buffered-logger is designed to be used in multithreaded or multifiber rack servers and includes a middleware to automatically capture and write the buffered log statements during each request. This is ideal for keeping requests together for log parsing software such as splunk.

Installation

If you're using rails, add this line your application's Gemfile:

gem "buffered-logger", require: "buffered_logger/rails"

Otherwise add this line to your application's Gemfile:

gem "buffered-logger"

And then execute:

$ bundle install

Or install it yourself as:

$ gem install buffered-logger

Usage

require "buffered_logger"

MyApp.logger = BufferedLogger.new("myapp.log")

use BufferedLogger::Middleware, MyApp.logger
run MyApp

If the RAILS_LOG_TO_STDOUT environment variable is set in a Rails environment, buffered-logger would be 12 factor app compatible for containerized environments.

Contributing

Fork, branch & pull request.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%