In Files

  • webrick/log.rb

WEBrick::BasicLog

A generic logging class

Constants

DEBUG

Debugging error level for messages used in server development or debugging

ERROR

Error log level which indicates a recoverable error

FATAL

Fatal log level which indicates a server crash

INFO

Information log level which indicates possibly useful information

WARN

Warning log level which indicates a possible problem

Attributes

level[RW]

log-level, messages above this level will be logged

Public Class Methods

new(log_file=nil, level=nil) click to toggle source

Initializes a new logger for log_file that outputs messages at level or higher. log_file can be a filename, an IO-like object that responds to << or nil which outputs to $stderr.

If no level is given INFO is chosen by default

 
               # File webrick/log.rb, line 50
def initialize(log_file=nil, level=nil)
  @level = level || INFO
  case log_file
  when String
    @log = File.open(log_file, "a+")
    @log.sync = true
    @opened = true
  when NilClass
    @log = $stderr
  else
    @log = log_file  # requires "<<". (see BasicLog#log)
  end
end
            

Public Instance Methods

<<(obj) click to toggle source

Synonym for log(INFO, obj.to_s)

 
               # File webrick/log.rb, line 84
def <<(obj)
  log(INFO, obj.to_s)
end
            
close() click to toggle source

Closes the logger (also closes the log device associated to the logger)

 
               # File webrick/log.rb, line 66
def close
  @log.close if @opened
  @log = nil
end
            
debug(msg) click to toggle source

Shortcut for logging a DEBUG message

 
               # File webrick/log.rb, line 97
def debug(msg) log(DEBUG, "DEBUG " << format(msg)); end
            
debug?() click to toggle source

Will the logger output DEBUG messages?

 
               # File webrick/log.rb, line 108
def debug?; @level >= DEBUG; end
            
error(msg) click to toggle source

Shortcut for logging an ERROR message

 
               # File webrick/log.rb, line 91
def error(msg) log(ERROR, "ERROR " << format(msg)); end
            
error?() click to toggle source

Will the logger output ERROR messages?

 
               # File webrick/log.rb, line 102
def error?; @level >= ERROR; end
            
fatal(msg) click to toggle source

Shortcut for logging a FATAL message

 
               # File webrick/log.rb, line 89
def fatal(msg) log(FATAL, "FATAL " << format(msg)); end
            
fatal?() click to toggle source

Will the logger output FATAL messages?

 
               # File webrick/log.rb, line 100
def fatal?; @level >= FATAL; end
            
info(msg) click to toggle source

Shortcut for logging an INFO message

 
               # File webrick/log.rb, line 95
def info(msg)  log(INFO,  "INFO  " << format(msg)); end
            
info?() click to toggle source

Will the logger output INFO messages?

 
               # File webrick/log.rb, line 106
def info?;  @level >= INFO; end
            
log(level, data) click to toggle source

Logs data at level if the given level is above the current log level.

 
               # File webrick/log.rb, line 75
def log(level, data)
  if @log && level <= @level
    data += "\n" if /\n\Z/ !~ data
    @log << data
  end
end
            
warn(msg) click to toggle source

Shortcut for logging a WARN message

 
               # File webrick/log.rb, line 93
def warn(msg)  log(WARN,  "WARN  " << format(msg)); end
            
warn?() click to toggle source

Will the logger output WARN messages?

 
               # File webrick/log.rb, line 104
def warn?;  @level >= WARN; end