R/logger.R

Defines functions qprp_log_level qprp_log_fatal qprp_log_error qprp_log_warn qprp_log_debug qprp_log_info get_qprp_logger

Documented in get_qprp_logger qprp_log_debug qprp_log_error qprp_log_fatal qprp_log_info qprp_log_level qprp_log_warn

### #
### #
### #
### #   Purpose:   Functions Related to Logging
### #   started:   2019-10-03 (pvr)
### #
### # ############################################## ###

#' @title Create log4r Logger for package
#'
#' @param ps_logfile name of the logfile
#' @param ps_level logger level
#'
#' @return qprp_logger
#' @export get_qprp_logger
#'
#' @examples
#' \dontrun{
#' qprp_logger <- get_qprp_logger()
#' }
get_qprp_logger <- function(ps_logfile = 'qprp.log', ps_level = 'FATAL'){
  qprp_logger <- log4r::create.logger(logfile = ps_logfile, level = ps_level)
  return(qprp_logger)
}


#' @title Wrapper for log4r info
#'
#' @param plogger log4r logger object
#' @param ps_caller function from which we are called
#' @param ps_msg logging message
#'
#' @export qprp_log_info
#'
#' @examples
#' \dontrun{
#' qprp_logger <- get_qprp_logger()
#' qprp_log_level(qprp_logger, 'INFO')
#' qprp_log_info(qprp_logger, 'Examples', 'test message')
#' }
qprp_log_info <- function(plogger, ps_caller, ps_msg){
  s_msg <- paste0(ps_caller, ' -- ', ps_msg, collapse = '')
  log4r::info(logger = plogger, message = s_msg)
}


#' @title Wrapper for log4r debug
#'
#' @param plogger log4r logger object
#' @param ps_caller function from which we are called
#' @param ps_msg logging message
#'
#' @export qprp_log_debug
#'
#' @examples
#' \dontrun{
#' qprp_logger <- get_qprp_logger()
#' qprp_log_level(qprp_logger, 'DEBUG')
#' qprp_log_debug(qprp_logger, 'Examples', 'test message')
#' }
qprp_log_debug <- function(plogger, ps_caller, ps_msg){
  s_msg <- paste0(ps_caller, ' -- ', ps_msg, collapse = '')
  log4r::debug(logger = plogger, message = s_msg)
}


#' @title Wrapper for log4r warn
#'
#' @param plogger log4r logger object
#' @param ps_caller function from which we are called
#' @param ps_msg logging message
#'
#' @export qprp_log_warn
#'
#' @examples
#' \dontrun{
#' qprp_logger <- get_qprp_logger()
#' qprp_log_level(qprp_logger, 'WARN')
#' qprp_log_warn(qprp_logger, 'Examples', 'test message')
#' }
qprp_log_warn <- function(plogger, ps_caller, ps_msg){
  s_msg <- paste0(ps_caller, ' -- ', ps_msg, collapse = '')
  log4r::warn(logger = plogger, message = s_msg)
}


#' @title Wrapper for log4r error
#'
#' @param plogger log4r logger object
#' @param ps_caller function from which we are called
#' @param ps_msg logging message
#'
#' @export qprp_log_error
#'
#' @examples
#' \dontrun{
#' qprp_logger <- get_qprp_logger()
#' qprp_log_level(qprp_logger, 'ERROR')
#' qprp_log_error(qprp_logger, 'Examples', 'test message')
#' }
qprp_log_error <- function(plogger, ps_caller, ps_msg){
  s_msg <- paste0(ps_caller, ' -- ', ps_msg, collapse = '')
  log4r::error(logger = plogger, message = s_msg)
}


#' @title Wrapper for log4r fatal
#'
#' @param plogger log4r logger object
#' @param ps_caller function from which we are called
#' @param ps_msg logging message
#'
#' @export qprp_log_fatal
#'
#' @examples
#' \dontrun{
#' qprp_logger <- get_qprp_logger()
#' qprp_log_level(qprp_logger, 'FATAL')
#' qprp_log_fatal(qprp_logger, 'Examples', 'test message')
#' }
qprp_log_fatal <- function(plogger, ps_caller, ps_msg){
  s_msg <- paste0(ps_caller, ' -- ', ps_msg, collapse = '')
  log4r::fatal(logger = plogger, message = s_msg)
}


#' @title Wrapper to set the level of a logger
#'
#' @param plogger log4r logger object
#' @param ps_level new level of plogger
#'
#' @export qprp_log_level
#'
#' @examples
#' \dontrun{
#' qprp_logger <- get_qprp_logger()
#' qprp_log_level(qprp_logger, 'INFO')
#' }
qprp_log_level <- function(plogger, ps_level = c('DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL')){
  if (!missing(ps_level) & length(ps_level) > 1) stop(" *** ERROR in level(): only one 'level' allowed.")
  ps_level <- match.arg(ps_level)
  log4r::level(plogger) <- ps_level
}
pvrqualitasag/qprppedigree documentation built on March 18, 2021, 7:34 a.m.