logger.setup: Set up python-style logging

View source: R/utils-logging.R

logger.setupR Documentation

Set up python-style logging


Good logging allows package developers and users to create log files at different levels to track and debug lengthy or complex calculations. "Python-style" logging is intended to suggest that users should set up multiple log files for different log severities so that the errorLog will contain only log messages at or above the ERROR level while a debugLog will contain log messages at the DEBUG level as well as all higher levels.

Python-style log files are set up with logger.setup(). Logs can be set up for any combination of log levels. Accepting the default NULL setting for any log file simply means that log file will not be created.

Python-style logging requires the use of logger.debug() style logging statements as seen in the example below.


  traceLog = NULL,
  debugLog = NULL,
  infoLog = NULL,
  warnLog = NULL,
  errorLog = NULL,
  fatalLog = NULL



File name or full path where logger.trace() messages will be sent.


File name or full path where logger.debug() messages will be sent.


File name or full path where logger.info() messages will be sent.


File name or full path where logger.warn() messages will be sent.


File name or full path where logger.error() messages will be sent.


File name or full path where logger.fatal() messages will be sent.


No return value.


All functionality is built on top of the excellent futile.logger package.

See Also

logger.trace logger.debug logger.info logger.warn logger.error logger.fatal


## Not run: 

# Only save three log files
  debugLog = "debug.log",
  infoLog = "info.log",
  errorLog = "error.log"

# But allow lot statements at all levels within the code
logger.trace("trace statement #%d", 1)
logger.debug("debug statement")
logger.info("info statement %s %s", "with", "arguments")
logger.warn("warn statement %s", "about to try something dumb")
result <- try(1/"a", silent=TRUE)
logger.error("error message: %s", geterrmessage())
logger.fatal("fatal statement %s", "THE END")

## End(Not run)

MazamaCoreUtils documentation built on Nov. 14, 2023, 1:09 a.m.