A generic logging class
Debugging error level for messages used in server development or debugging
Error log level which indicates a recoverable error
Fatal log level which indicates a server crash
Information log level which indicates possibly useful information
Warning log level which indicates a possible problem
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 49
def initialize(log_file=nil, level=nil)
@level = level || INFO
case log_file
when String
@log = open(log_file, "a+")
@log.sync = true
@opened = true
when NilClass
@log = $stderr
else
@log = log_file # requires "<<". (see BasicLog#log)
end
end
Synonym for log(INFO, obj.to_s)
# File webrick/log.rb, line 83
def <<(obj)
log(INFO, obj.to_s)
end
Closes the logger (also closes the log device associated to the logger)
# File webrick/log.rb, line 65
def close
@log.close if @opened
@log = nil
end
Shortcut for logging a DEBUG message
# File webrick/log.rb, line 96
def debug(msg) log(DEBUG, "DEBUG " << format(msg)); end
Will the logger output DEBUG messages?
# File webrick/log.rb, line 107
def debug?; @level >= DEBUG; end
Shortcut for logging an ERROR message
# File webrick/log.rb, line 90
def error(msg) log(ERROR, "ERROR " << format(msg)); end
Will the logger output ERROR messages?
# File webrick/log.rb, line 101
def error?; @level >= ERROR; end
Shortcut for logging a FATAL message
# File webrick/log.rb, line 88
def fatal(msg) log(FATAL, "FATAL " << format(msg)); end
Will the logger output FATAL messages?
# File webrick/log.rb, line 99
def fatal?; @level >= FATAL; end
Shortcut for logging an INFO message
# File webrick/log.rb, line 94
def info(msg) log(INFO, "INFO " << format(msg)); end
Will the logger output INFO messages?
# File webrick/log.rb, line 105
def info?; @level >= INFO; end
Logs data at level if the given level is above
the current log level.
# File webrick/log.rb, line 74
def log(level, data)
if @log && level <= @level
data += "\n" if /\n\Z/ !~ data
@log << data
end
end
Shortcut for logging a WARN message
# File webrick/log.rb, line 92
def warn(msg) log(WARN, "WARN " << format(msg)); end
Will the logger output WARN messages?
# File webrick/log.rb, line 103
def warn?; @level >= WARN; end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please see Improve the docs, or visit Documenting-ruby.org.