Yell Gelf - Graylog2 Adapter for Your Extensible Logging Library
If you are not yet familiar with Yell - Your Extensible Logging Library check out the githup project under https://github.com/rudionrails/yell or jump directly into the Yell wiki at https://github.com/rudionrails/yell/wiki.
Just in case you wonder: GELF means Graylog Extended Log Format. Read all it at http://www.graylog2.org/about/gelf.
The Graylog adapter for Yell works and is tested with ruby 1.8.7, 1.9.x, jruby 1.8 and 1.9 mode, rubinius 1.8 and 1.9 as well as ree.
Installation
System wide:
gem install yell-adapters-gelf
Or in your Gemfile:
gem "yell-adapters-gelf"
Usage
After you set-up Graylog2 accordingly, you may use the Gelf adapter just like any other.
logger = Yell.new :gelf
# or alternatively with the block syntax
logger = Yell.new do |l|
l.adapter :gelf
end
logger.info 'Hello World!'
Now check your Graylog2 web server for the received message. By default, the gelf adapter will send the following information to Graylog2:
facility
: The GELF facility (default: 'yell')
level
: The current log level
timestamp
: The time when the log event occured
host
: The current hostname
file
: The name of the file where the log event occured
line
: The line in the file where the log event occured
_method
: The method where the log event occured
_pid
: The PID of your current process
Example: Running with a different GELF facility
logger = Yell.new :gelf, :facility => 'my own facility'
# or with the block syntax
logger = Yell.new do |l|
l.adapter :gelf, :facility => 'my own facility'
end
Example: Running Graylog2 on a different host or port
logger = Yell.new :gelf, :host => '127.0.0.1', :port => 1234
# or with the block syntax
logger = Yell.new do |l|
l.adapter :gelf, :host => '127.0.0.1', :port => 1234
end
logger.info 'Hello World!'
Example: Passing additional keys to the adapter
logger = Yell.new :gelf
logger.info "Hello World", "_thread_id" => Thread.current.object_id,
"_current_user_id" => current_user.id
Copyright © 2012 Rudolf Schmidt, released under the MIT license