class OnesnooperServer::Log
Wrapper for log subscribers combining the functionality of ‘Logger` and `ActiveSupport::Notifications`. Allows the use of Singleton-like logging facilities.
Constants
- SUBSCRIPTION_HANDLE
Default subscription handle for notifications
Attributes
log_prefix[R]
logger[R]
Public Class Methods
debug(message)
click to toggle source
@see info
# File lib/onesnooper_server/log.rb, line 49 def self.debug(message) ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::DEBUG, :message => message) end
error(message)
click to toggle source
@see info
# File lib/onesnooper_server/log.rb, line 65 def self.error(message) ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::ERROR, :message => message) end
fatal(message)
click to toggle source
@see info
# File lib/onesnooper_server/log.rb, line 70 def self.fatal(message) ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::FATAL, :message => message) end
info(message)
click to toggle source
Log
an INFO
message @param message [String] message the message to log; does not need to be a String
# File lib/onesnooper_server/log.rb, line 55 def self.info(message) ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::INFO, :message => message) end
new(log_dev, log_prefix = '[onesnooper-server]')
click to toggle source
Creates a new logger
@param log_dev [IO,String] The log device. This is a filename (String) or IO object (typically STDOUT
, STDERR
, or an open file). @param log_prefix
[String] String placed in front of every logged message
# File lib/onesnooper_server/log.rb, line 19 def initialize(log_dev, log_prefix = '[onesnooper-server]') if log_dev.kind_of? ::Logger @logger = log_dev else @logger = ::Logger.new(log_dev) end @log_prefix = log_prefix.blank? ? '' : log_prefix.strip # subscribe to log messages and send to logger @log_subscriber = ActiveSupport::Notifications.subscribe(self.class::SUBSCRIPTION_HANDLE) do |name, start, finish, id, payload| @logger.log(payload[:level], "#{@log_prefix} #{payload[:message]}") if @logger end end
warn(message)
click to toggle source
@see info
# File lib/onesnooper_server/log.rb, line 60 def self.warn(message) ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::WARN, :message => message) end
Public Instance Methods
close()
click to toggle source
# File lib/onesnooper_server/log.rb, line 34 def close ActiveSupport::Notifications.unsubscribe(@log_subscriber) end
level()
click to toggle source
@return [::Logger::Severity]
# File lib/onesnooper_server/log.rb, line 44 def level @logger.level end
level=(severity)
click to toggle source
@param severity [::Logger::Severity] severity
# File lib/onesnooper_server/log.rb, line 39 def level=(severity) @logger.level = severity end