Object-Oriented Logger for Ruby
Loog is an object-oriented logging wrapper around Ruby
Logger
.
First, install it:
gem install loog
Then, use it like this:
require 'loog'
Loog::VERBOSE.info('Hello, world!')
The gem is basically a provider of a few pre-configured loggers, which
you can use for production (Loog::REGULAR
) or for testing (Loog::VERBOSE
).
You can also shut it up with Loog::NULL
.
There is also Loog::Buffer
class that you can use for testing.
It accumulates all log calls and then returns the entire output
through the to_s()
method.
Also, you can "tee" two loogs, with the help of Loog::Tee
. For example,
to record everything in a buffer and also show in the console:
require 'loog'
require 'loog/tee'
buf - Logger::Buffer.new
loog = Loog::Tee.new(Loog::VERBOSE, buf)
loog.info('Hello, world!')
assert(buf.to_s.include?('Hello'))
How to contribute
Read these guidelines. Make sure you build is green before you contribute your pull request. You will need to have Ruby 2.3+ and Bundler installed. Then:
bundle update
bundle exec rake
If it's clean and you don't see any error messages, submit your pull request.