class Pyer::Logger
Logger
class
Constants
- STRING
Attributes
level[RW]
Logging severity threshold (e.g. Logger::INFO
).
Private Class Methods
new(logdev = nil, klass = nil)
click to toggle source
Create an instance. outputs log messages on STDOUT, STDERR, a file or a StringIO
# File lib/pyer/logger.rb, line 119 def initialize(logdev = nil, klass = nil) @level = DEBUG @logdev = $stdout @severity_label = COLOURED_LABELS @klass_name = '' @klass_name = klass.name unless klass.nil? return if logdev.nil? if logdev == STRING # no log device implies that messages are stored in a string @logdev = StringIO.new @severity_label = SEVERITY_LABELS else if logdev == STDOUT @logdev = $stdout else if logdev == STDERR @logdev = $stderr else # the default log device is a file name @logdev = File.new(logdev.to_s, 'a') @severity_label = SEVERITY_LABELS end end end end
Private Instance Methods
add(severity, message, &block)
click to toggle source
Log a message if the given severity is high enough.
# File lib/pyer/logger.rb, line 178 def add(severity, message, &block) return if @logdev.nil? || severity < @level message = '' if message.nil? message += block.call if block_given? @logdev.write(Formatter.new.string(@klass_name, @severity_label[severity], message)) end
close()
click to toggle source
Close the logging device.
# File lib/pyer/logger.rb, line 150 def close @logdev.close if @logdev.class == File end
debug(message = nil, &block)
click to toggle source
Log a DEBUG
message.
# File lib/pyer/logger.rb, line 155 def debug(message = nil, &block) add(DEBUG, message, &block) end
debug?()
click to toggle source
Returns true
if the current severity level allows the printing of the message
# File lib/pyer/logger.rb, line 100 def debug? @level <= DEBUG end
error(message = nil, &block)
click to toggle source
Log an ERROR
message.
# File lib/pyer/logger.rb, line 170 def error(message = nil, &block) add(ERROR, message, &block) end
error?()
click to toggle source
# File lib/pyer/logger.rb, line 112 def error? @level <= ERROR end
info(message = nil, &block)
click to toggle source
Log an INFO
message.
# File lib/pyer/logger.rb, line 160 def info(message = nil, &block) add(INFO, message, &block) end
info?()
click to toggle source
# File lib/pyer/logger.rb, line 104 def info? @level <= INFO end
string()
click to toggle source
# File lib/pyer/logger.rb, line 145 def string @logdev.class == StringIO ? @logdev.string : '' end
warn(message = nil, &block)
click to toggle source
Log a WARN
message.
# File lib/pyer/logger.rb, line 165 def warn(message = nil, &block) add(WARN, message, &block) end
warn?()
click to toggle source
# File lib/pyer/logger.rb, line 108 def warn? @level <= WARN end