appender_async | R Documentation |
Delays executing the actual appender function to the future in a background process to avoid blocking the main R session
appender_async(
appender,
namespace = "async_logger",
init = function() log_info("Background process started")
)
appender |
a |
namespace |
|
init |
optional function to run in the background process that
is useful to set up the environment required for logging, eg if
the |
function taking lines
argument
This functionality depends on the mirai package.
Other log_appenders:
appender_console()
,
appender_file()
,
appender_kinesis()
,
appender_pushbullet()
,
appender_slack()
,
appender_stdout()
,
appender_syslog()
,
appender_tee()
,
appender_telegram()
## Not run:
appender_file_slow <- function(file) {
force(file)
function(lines) {
Sys.sleep(1)
cat(lines, sep = "\n", file = file, append = TRUE)
}
}
## log what's happening in the background
log_threshold(TRACE, namespace = "async_logger")
log_appender(appender_console, namespace = "async_logger")
## start async appender
t <- tempfile()
log_info("Logging in the background to {t}")
## use async appender
log_appender(appender_async(appender_file_slow(file = t)))
log_info("Was this slow?")
system.time(for (i in 1:25) log_info(i))
readLines(t)
Sys.sleep(10)
readLines(t)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.