Logger | R Documentation |
Create a logger.
printer
A callback function to write the message
to the console, must accept a single argument,
defaults to cat
.
predicate
A predicate function that determines whether to actually run the log, useful if you want to switch the logger on and off for debugging.
If the function returns TRUE
the logger runs as normal,
if FALSE
the logger does not actually print, write or
dump the messages.
new()
Logger$new(prefix = NULL, write = FALSE, file = "log.log", sep = "\t")
prefix
String to prefix all log messages.
write
Whether to write the log to the file
.
file
Name of the file to dump the logs to,
only used if write
is TRUE
.
sep
Separator between prefix
and other flags
and messages.
Initialise
info <- Logger$new("INFO") info$log("hello")
date()
Logger$date(format = "%d-%m-%Y")
format
Formatter for the item, passed
to format()
.
Include the date in the log
info <- Logger$new("INFO")$date() info$log("today")
time()
Logger$time(format = "%H:%M:%S")
format
Formatter for the item, passed
to format()
.
Include the time in the log
info <- Logger$new("INFO")$time() info$log("now")
unix()
Logger$unix()
Include the time in the log
info <- Logger$new("INFO")$unix() info$log("timestamp")
hook()
Logger$hook(fn)
fn
A function that accepts one argument (string) and returns a modified version of that string.
Preprocess the prefix with a custom function
err <- Logger$new("INFO")$hook(crayon::red) err$log("hello")
dir()
Logger$dir()
Include the directory in the log
info <- Logger$new("INFO")$dir() info$log("directory")
flag()
Logger$flag(what)
what
Function to run for every message logged or string to include in log message.
Pass a custom flag
fl <- function(){ paste0(sample(letters, 4), collapse = "") } info <- Logger$new("INFO")$flag(fl) info$log("random")
log()
Logger$log(..., sep = " ", collapse = " ")
...
Elements to compose message.
sep, collapse
Separators passed to paste()
.
Log messages
info <- Logger$new("INFO") info$log("Logger")
dump()
Logger$dump(file = "dump.log")
file
Name of the file to dump the logs to.
Dump the log to a file
info <- Logger$new("INFO") info$log("hello") \dontrun{info$dump()}
clone()
The objects of this class are cloneable with this method.
Logger$clone(deep = FALSE)
deep
Whether to make a deep clone.
info <- Logger$new("INFO")$ date()$ time()$ hook(crayon::blue) info$log("Hello") Sys.sleep(.7) info$log("World") ## ------------------------------------------------ ## Method `Logger$new` ## ------------------------------------------------ info <- Logger$new("INFO") info$log("hello") ## ------------------------------------------------ ## Method `Logger$date` ## ------------------------------------------------ info <- Logger$new("INFO")$date() info$log("today") ## ------------------------------------------------ ## Method `Logger$time` ## ------------------------------------------------ info <- Logger$new("INFO")$time() info$log("now") ## ------------------------------------------------ ## Method `Logger$unix` ## ------------------------------------------------ info <- Logger$new("INFO")$unix() info$log("timestamp") ## ------------------------------------------------ ## Method `Logger$hook` ## ------------------------------------------------ err <- Logger$new("INFO")$hook(crayon::red) err$log("hello") ## ------------------------------------------------ ## Method `Logger$dir` ## ------------------------------------------------ info <- Logger$new("INFO")$dir() info$log("directory") ## ------------------------------------------------ ## Method `Logger$flag` ## ------------------------------------------------ fl <- function(){ paste0(sample(letters, 4), collapse = "") } info <- Logger$new("INFO")$flag(fl) info$log("random") ## ------------------------------------------------ ## Method `Logger$log` ## ------------------------------------------------ info <- Logger$new("INFO") info$log("Logger") ## ------------------------------------------------ ## Method `Logger$dump` ## ------------------------------------------------ info <- Logger$new("INFO") info$log("hello") ## Not run: info$dump()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.