The following vignette presents benchmarks for log4r against all general-purpose logging packages available on CRAN:
- futile.logger and logging, which are well-established packages; and
- logger, lgr, and rlog, all of which are relative newcomers.
Each logging package features slightly different capabilities, but these benchmarks are focused on the two situations common to using all of them:
- Logging simple messages to the console; and
- Deciding not to log a message because it is below the threshold.
The first of these is likely the most common kind of logging done by end users, although some may chose to log to files, over HTTP, or to the system log (among others). Yet a benchmark of these other scenarios would largely show the relative expense of these operations, instead of the overhead of the logic performed by the logging packages themselves.
The second measures the performance impact of leaving logging messages in running code, even if they are below the current threshold of visibility. This is another measure of overhead for each logging package.
Using cat()
As a reference point, we can measure how long it takes R itself to write a simple message to the console:
The futile.logger Package
The following is a typical futile.logger setup:
requireNamespace("futile.logger")
#> Loading required namespace: futile.logger
futile.logger::flog.logger()
fl_info <- function() {
futile.logger::flog.info("Info message.")
}
fl_debug <- function() {
futile.logger::flog.debug("Debug message.")
}The logging Package
The following is what I believe to be a typical logging setup:
requireNamespace("logging")
#> Loading required namespace: logging
logging::basicConfig()
logging_info <- function() {
logging::loginfo("Info message.")
}
logging_debug <- function() {
logging::logdebug("Debug message.")
}The logger Package
The following is what I believe to be a typical logger setup:
requireNamespace("logger")
#> Loading required namespace: logger
#> Registered S3 method overwritten by 'logger':
#> method from
#> print.loglevel log4r
# Match the behaviour of other logging packages and write to the console.
logger::log_appender(logger::appender_stdout)
logger_info <- function() {
logger::log_info("Info message.")
}
logger_debug <- function() {
logger::log_debug("Debug message.")
}The lgr Package
The following is what I believe to be a typical lgr setup:
requireNamespace("lgr")
#> Loading required namespace: lgr
lgr_logger <- lgr::get_logger("perf-test")
lgr_logger$set_appenders(list(cons = lgr::AppenderConsole$new()))
lgr_logger$set_propagate(FALSE)
lgr_info <- function() {
lgr_logger$info("Info message.")
}
lgr_debug <- function() {
lgr_logger$debug("Debug message.")
}The rlog Package
The rlog package currently has no configuration options other than the threshold, which is controlled via an environment variable and defaults to hiding debug-level messages:
requireNamespace("rlog")
#> Loading required namespace: rlog
rlog_info <- function() {
rlog::log_info("Info message.")
}
rlog_debug <- function() {
rlog::log_debug("Debug message.")
}Test All Loggers
Debug messages should print nothing.
log4r_debug()
cat_debug()
logging_debug()
fl_debug()
logger_debug()
lgr_debug()
rlog_debug()Info messages should print to the console. Small differences in output format are to be expected.
log4r_info()
#> INFO [2026-08-14 17:00:38] Info message.
cat_info()
#> INFO [2026-08-14 17:00:38] Info message.
logging_info()
#> 2026-08-14 17:00:38.599963 INFO::Info message.
fl_info()
#> INFO [2026-08-14 17:00:38] Info message.
logger_info()
#> INFO [2026-08-14 17:00:38] Info message.
lgr_info()
rlog_info()
#> 2026-08-14 17:00:38 [INFO] Info message.Benchmarks
The following benchmarks all loggers defined above:
info_bench <- microbenchmark::microbenchmark(
cat = cat_info(),
log4r = log4r_info(),
futile.logger = fl_info(),
logging = logging_info(),
logger = logger_info(),
lgr = lgr_info(),
rlog = rlog_info(),
times = 500,
control = list(warmups = 50)
)
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:38] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:39] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:40] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
#> INFO [2026-08-14 17:00:41] Info message.
debug_bench <- microbenchmark::microbenchmark(
cat = cat_debug(),
log4r = log4r_debug(),
futile.logger = fl_debug(),
logging = logging_debug(),
logger = logger_debug(),
lgr = lgr_debug(),
rlog = rlog_debug(),
times = 500,
control = list(warmups = 50)
)How long does it take to print messages?
print(info_bench, order = "median")
#> Unit: microseconds
#> expr min lq mean median uq max
#> log4r 24.015 43.8865 57.76819 54.9570 63.2585 1696.684
#> cat 41.868 61.3040 89.65570 68.8035 78.2405 3626.021
#> rlog 77.885 114.2280 139.31924 126.7765 140.2570 2325.175
#> logger 299.338 401.2480 466.94466 442.2995 501.3650 2409.332
#> logging 533.575 673.9515 840.07280 725.3625 791.8315 13227.693
#> futile.logger 817.424 983.5740 1153.63248 1082.1270 1195.8095 7837.714
#> lgr 1605.554 1980.6435 2432.42789 2084.1455 2245.1510 72064.385
#> neval
#> 500
#> 500
#> 500
#> 500
#> 500
#> 500
#> 500How long does it take to decide to do nothing?
print(debug_bench, order = "median")
#> Unit: microseconds
#> expr min lq mean median uq max neval
#> cat 3.587 5.5610 9.948926 7.0935 8.0055 1429.846 500
#> log4r 4.568 6.5625 11.984174 8.2000 9.5375 1634.848 500
#> rlog 11.782 16.9320 23.051512 19.8020 21.7455 1390.964 500
#> lgr 21.440 27.6010 36.365492 31.3130 33.9335 1982.947 500
#> logger 25.608 36.0070 45.767828 41.6680 46.0360 1557.544 500
#> logging 29.424 39.8045 49.511916 45.8110 50.1830 1339.668 500
#> futile.logger 356.124 409.8740 456.941054 428.2635 451.0260 4683.993 500