slogger
Slogger is a Ruby library to help work with standard Ruby Syslog library.
Install
Slogger is hosted on RubyGems (rubygems.org/gems/slogger), so to install it is really easy.
$ gem install slogger
Features
Slogger::Logger
A more friendly wrapper on Ruby’s Syslog.
Sample: simple message log
require "slogger"
# So in this sample:
#
# "sample_name": application name
# :info : severity level
# :local0 : facility
slogger = Slogger::Logger.new "sample_app", :info, :local0
slogger.info "A good info"
slogger.debug "A deep info (oops!)" # it'll not be logged
slogger.severity = :debug
slogger.debug "A deep info (yay!)" # now it'll be logged
# and after, look at the syslog file of your SO ;)
Sample: message log preceded by spent time
require "slogger"
slogger = Slogger::Logger.new "sample_app", :debug, :local0
slogger.info "A really good info preceded by spent time" do
# do something
end
# and after, look at the syslog file of your SO ;)
Slogger::CommonLogger
A useful class which exposes the Ruby’s standard Syslog with the same API that Ruby’s standard Logger to be used, for example, in Rails applications.
Just add the snippet below to the config/environments/developement.rb of an Rails application and everything will be logged thru the Ruby’s standard Syslog library:
config.log_level = :info
config.logger = Slogger::CommonLogger.new "rappils", config.log_level, :local0
Slogger::Rack::RequestLogger
A Rack middleware to log incoming requests.
Sample:
require "slogger"
configure do
slogger = Slogger::Logger.new "sample_app", :debug, :local0
use Slogger::Rack::RequestLogger, slogger
end
# and after, look at the syslog file of your SO ;)
Future
I don’t know. I think in adding more stuff sometime in the future. Let’s see.
For now is it.
Quick view on Syslog RFC 5424
If you want to get a look at RFC 5424, which I really recommend, you can go to:
According to that:
# Message Severities
#
# - Emergency: system is unusable
# - Alert: action must be taken immediately
# - Critical: critical conditions
# - Error: error conditions
# - Warning: warning conditions
# - Notice: normal but significant condition
# - Informational: informational messages
# - Debug: debug-level messages
And…
# Message Facilities
#
# - kernel messages
# - user-level messages
# - mail system
# - system daemons
# - security/authorization messages
# - messages generated internally by syslogd
# - line printer subsystem
# - network news subsystem
# - UUCP subsystem
# - clock daemon
# - security/authorization messages
# - FTP daemon
# - NTP subsystem
# - log audit
# - log alert
# - clock daemon (note 2)
# - local use 0 (local0)
# - local use 1 (local1)
# - local use 2 (local2)
# - local use 3 (local3)
# - local use 4 (local4)
# - local use 5 (local5)
# - local use 6 (local6)
# - local use 7 (local7)
Copyright
Copyright © 2011 Leandro Silva (CodeZone) <[email protected]>.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.