Skip to content

Instantly share code, notes, and snippets.

@RJHKnight
Created February 21, 2022 00:34
Show Gist options
  • Save RJHKnight/365897e9255707d40fbeeed3133194aa to your computer and use it in GitHub Desktop.
Save RJHKnight/365897e9255707d40fbeeed3133194aa to your computer and use it in GitHub Desktop.
R Logging util functions
# Logging -----------------------------------------------------------------
get_file_logger <- function()
{
if (! exists("file_logger"))
{
# File name
log_location <- config::get("log_file_location")
date_string <- format(today(), "%Y-%m-%d")
log_name <- paste0(config::get("log_file_name"), "_", date_string, ".log")
file_name <- paste(log_location, log_name, sep = .Platform$file.sep)
# Create logger
log_level <- config::get("log_level")
file_logger <- log4r::logger(log_level, appenders = log4r::file_appender(file_name, append = TRUE))
}
return (file_logger)
}
log_info <- function(...)
{
logger <- get_file_logger()
log4r::info(logger, paste(list(...), collapse = " "))
}
log_debug <- function(...)
{
logger <- get_file_logger()
log4r::debug(logger, paste(list(...), collapse = " "))
}
log_warn <- function(...)
{
logger <- get_file_logger()
log4r::warn(logger, paste(list(...), collapse = " "))
}
log_error <- function(...)
{
logger <- get_file_logger()
log4r::error(logger, paste(list(...), collapse = " "))
}
@RJHKnight
Copy link
Author

RJHKnight commented Feb 21, 2022

R functions for simple logging in packages using config and log4r

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment