Functions for handling logging levels. With each log entry, a logging level is associated that indicate its severity – debugging output, informational output, warning message, error message or fatal error. Each logger only prints log entries where the log level is equal or above its threshold.

loglevel(i)

is.loglevel(x, ...)

as.loglevel(i)

# S3 method for class 'loglevel'
print(x, ...)

# S3 method for class 'loglevel'
as.numeric(x, ...)

# S3 method for class 'loglevel'
as.character(x, ...)

available.loglevels()

verbosity(v)

Arguments

i

An integer from the set 1..5. Otherwise it will be modified sensibly to fit in that range. Alternatively, a named logging level (one of "DEBUG", "INFO", "WARN", "ERROR", or "FATAL").

x

An object of class "loglevel"

...

Unused

v

A verbosity level from the set 5..1. For historical reasons, they do not match the log levels; a verbosity level of 1 corresponds to a logging level of 5, 2 corresponds to 4, etc.

Value

An object of class "loglevel"

Details

To specify a logging level, use a character value, e.g. "WARN", or an integer between 1 and 5. The function available.levels lists all possible logging levels.

Examples

loglevel(2) == loglevel("INFO")
#> [1] TRUE
loglevel("WARN") < loglevel("ERROR")
#> [1] TRUE
loglevel(-1)
#> DEBUG 
try(loglevel("UNDEFINED"))
#> Error in loglevel("UNDEFINED") : unknown logging level: UNDEFINED
is.loglevel("DEBUG")
#> [1] FALSE
is.loglevel(loglevel("DEBUG"))
#> [1] TRUE
as.numeric(loglevel("FATAL"))
#> [1] 5
available.loglevels()
#> $DEBUG
#> DEBUG 
#> 
#> $INFO
#> INFO 
#> 
#> $WARN
#> WARN 
#> 
#> $ERROR
#> ERROR 
#> 
#> $FATAL
#> FATAL 
#> 

if (FALSE) { # \dontrun{
library(optparse)
library(log4r)

optlist <- list(make_option(c('-v', '--verbosity-level'),
  type = "integer",
  dest = "verbosity",
  default = 1,
  help = "Verbosity threshold (5=DEBUG, 4=INFO 3=WARN, 2=ERROR, 1=FATAL)"))

optparser <- OptionParser(option_list=optlist)
opt <- parse_args(optparser)

my.logger <- create.logger(logfile = "", level = verbosity(opt$verbosity))

fatal(my.logger, "Fatal message")
error(my.logger, "Error message")
warn(my.logger, "Warning message")
info(my.logger, "Informational message")
debug(my.logger, "Debugging message")
} # }