R/level.logger.R

Defines functions `level<-.logger` `level.logger` `level<-` `level`

#' Set or get the priority level for a logger object.
#'
#' The priority level can be an integer from the set 1..5 (otherwise it will be
#' modified sensibly to fit in that range), or a named logging level (one of
#' "DEBUG", "INFO", "WARN", "ERROR", or "FATAL"). An object of class loglevel
#' is also accepted; other input will be coerced using
#' \code{\link{as.loglevel}}.
#'
#' @param x An object of class logger.
#' @param value A loglevel.
#' @seealso \code{\link{loglevel}}
#' @examples
#'
#' library('log4r')
#'
#' logger <- create.logger(logfile = 'debugging.log', level = 1)
#' level(logger)
#' level(logger) <- "FATAL"
#' @export
`level` <-
  function(x)
  {
    UseMethod('level', x)
  }

#' @rdname level
#' @export
`level<-` <-
  function(x, value)
  {
    UseMethod('level<-', x)
  }

#' @rdname level
#' @export
`level.logger` <- function(x) x$threshold

#' @rdname level
#' @export
`level<-.logger` <- function(x, value) {
  x$threshold <- as.loglevel(value)
  x
}
johnmyleswhite/log4r documentation built on Feb. 4, 2023, 9:56 p.m.