Module: Extlib

Defined in:
lib/extlib/logger.rb,
lib/extlib.rb,
lib/extlib/hook.rb,
lib/extlib/pooling.rb,
lib/extlib/version.rb,
lib/extlib/assertions.rb,
lib/extlib/inflection.rb,
lib/extlib/simple_set.rb

Overview

Public Extlib Logger API

To replace an existing logger with a new one:

Extlib::Logger.set_log(log{String, IO},level{Symbol, String})

Available logging levels are

Extlib::Logger::{ Fatal, Error, Warn, Info, Debug }

Logging via:

Extlib.logger.fatal(message<String>,&block)
Extlib.logger.error(message<String>,&block)
Extlib.logger.warn(message<String>,&block)
Extlib.logger.info(message<String>,&block)
Extlib.logger.debug(message<String>,&block)

Logging with autoflush:

Extlib.logger.fatal!(message<String>,&block)
Extlib.logger.error!(message<String>,&block)
Extlib.logger.warn!(message<String>,&block)
Extlib.logger.info!(message<String>,&block)
Extlib.logger.debug!(message<String>,&block)

Flush the buffer to

Extlib.logger.flush

Remove the current log object

Extlib.logger.close

Private Extlib Logger API

To initialize the logger you create a new object, proxies to set_log.

Extlib::Logger.new(log{String, IO},level{Symbol, String})

Defined Under Namespace

Modules: Assertions, Hook, Inflection, Pooling Classes: Logger, SimpleSet

Constant Summary collapse

VERSION =
'0.9.11'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject

Returns the value of attribute logger.



37
38
39
# File 'lib/extlib/logger.rb', line 37

def logger
  @logger
end

Class Method Details

.exitingObject



53
54
55
56
# File 'lib/extlib.rb', line 53

def self.exiting
  return @exiting if defined?(@exiting)
  @exiting = false
end

.exiting=(bool) ⇒ Object



44
45
46
47
48
49
50
51
# File 'lib/extlib.rb', line 44

def self.exiting= bool
  if bool && Extlib.const_defined?('Pooling')
    if Extlib::Pooling.scavenger?
      Extlib::Pooling.scavenger.wakeup
    end
  end
  @exiting = true
end