Module: DRbService::Logging

Included in:
DRbService
Defined in:
lib/drbservice/utils.rb

Overview

DRbService logging methods and data.

Defined Under Namespace

Modules: ClassMethods Classes: ClassNameProxy

Constant Summary collapse

LEVEL =

Mapping of symbols to logging levels

{
			:debug => Logger::DEBUG,
			:info  => Logger::INFO,
			:warn  => Logger::WARN,
			:error => Logger::ERROR,
			:fatal => Logger::FATAL,
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(mod) ⇒ Object

Inclusion callback: Add logging methods and instance variables to the Module mod.



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# File 'lib/drbservice/utils.rb', line 319

def self::included( mod )

	# Logging class instance variables
	default_logger = Logger.new( $stderr )
	default_logger.level = $DEBUG ? Logger::DEBUG : Logger::WARN
	formatter = DRbService::LogFormatter.new( default_logger )
	default_logger.formatter = formatter

	mod.instance_variable_set( :@default_logger, default_logger )
	mod.instance_variable_set( :@default_log_formatter, formatter ) 
	mod.instance_variable_set( :@logger, default_logger )

	# Accessors
	class << mod
		include DRbService::Logging::ClassMethods

		# The log formatter that will be used when the logging subsystem is reset
		attr_accessor :default_log_formatter

		# The logger that will be used when the logging subsystem is reset
		attr_accessor :default_logger

		# The logger that's currently in effect
		attr_accessor :logger
		alias_method :log, :logger
		alias_method :log=, :logger=
	end

end

Instance Method Details

#initialize_copy(original) ⇒ Object

Copy constructor – clear the original’s log proxy.



403
404
405
406
# File 'lib/drbservice/utils.rb', line 403

def initialize_copy( original )
	@log_proxy = @log_debug_proxy = nil
	super
end

#logObject

Return the proxied logger.



410
411
412
# File 'lib/drbservice/utils.rb', line 410

def log
	@log_proxy ||= ClassNameProxy.new( self.class )
end

#log_debugObject

Return a proxied “debug” logger that ignores other level specification.



416
417
418
# File 'lib/drbservice/utils.rb', line 416

def log_debug
	@log_debug_proxy ||= ClassNameProxy.new( self.class, true )
end