R/log_msg.R

Defines functions log_msg

# Main log writing function
log_msg <- function(message, msg_level = "INFO"){
  level <- Sys.getenv("LOG_LEVEL", "INFO")
  levels <- list(
    "all" = 0,
    "trace" = 1,
    "debug" = 2,
    "info" = 3,
    "warn" = 4,
    "error" = 5,
    "fatal" = 6,
    "off" = 7
  )
  if (is.null(levels[tolower(level)])){
    stop("The LOG_LEVEL environment variable is incorrectly set")
  }
  if (as.integer(levels[tolower(level)]) <= as.integer(levels[tolower(msg_level)])) {
    if (as.integer(levels[tolower(msg_level)]) > 3) {
      cat(paste0(Sys.time(), " [", msg_level, "] ", message, "\n"), file=stderr())
    } else {
      cat(paste0(Sys.time(), " [", msg_level, "] ", message, "\n"), file=stdout())
    }
    invisible(TRUE)
  } else {
    invisible(FALSE)
  }
}

Try the rlog package in your browser

Any scripts or data that you put into this service are public.

rlog documentation built on Feb. 24, 2021, 5:08 p.m.