LtsvLogFormatter
A ruby logger formatter to output log in LTSV format
Installation
Add this line to your application's Gemfile:
gem 'ltsv_log_formatter'
And then execute:
$ bundle
How to use
require 'logger'
require 'ltsv_log_formatter'
logger = Logger.new(STDOUT)
logger.formatter = LtsvLogFormatter.new
Rails
Configure at config/application.rb
config.logger.formatter = LtsvLogFormatter.new
Example
Passing a hash parameter:
irb> logger.info({foo: "bar"})
time:20150423T00:00:00+09:00\tlevel:INFO\tfoo:bar
Passing a string parameter: message
key is used as default
irb> logger.info("foo")
time:20150423T00:00:00+09:00\tlevel:INFO\tmessage:foo
Line feed: Notice that the line feed character \n
is converted into \\n
irb> logger.info("foo\nbar")
time:20150423T00:00:00+09:00\tlevel:INFO\tmessage:foo\\nbar
Options
- time_key
- Change the key name of the time field. Set
nil
to remove. Default: time
- Change the key name of the time field. Set
- level_key
- Change the kay name of the level field. Set
nil
to remove. Default: level
- Change the kay name of the level field. Set
- message_key
- Change the kay name for the string (not hash) message. Default: message
Example)
logger.formatter = LtsvLogFormatter.new(time_key: "log_time", level_key: nil)
ChangeLog
See CHANGELOG.md for details.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Copyright
See LICENSE.txt for details.