| Logger | R Documentation |
Create a logger.
printerA callback function to write the message
to the console, must accept a single argument,
defaults to cat.
predicateA 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")
prefixString to prefix all log messages.
writeWhether to write the log to the file.
fileName of the file to dump the logs to,
only used if write is TRUE.
sepSeparator between prefix and other flags
and messages.
Initialise
info <- Logger$new("INFO")
info$log("hello")
date()Logger$date(format = "%d-%m-%Y")
formatFormatter 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")
formatFormatter 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)
fnA 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)
whatFunction 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, collapseSeparators passed to paste().
Log messages
info <- Logger$new("INFO")
info$log("Logger")
dump()Logger$dump(file = "dump.log")
fileName 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)
deepWhether 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.