| logger {logger} | R Documentation |
Generate logging utility
Description
A logger consists of a log level threshold, a log message formatter function, a log record layout formatting function and the appender function deciding on the destination of the log record. For more details, see the package README.md.
Usage
logger(threshold, formatter, layout, appender)
Arguments
threshold |
omit log messages below this |
formatter |
function pre-processing the message of the log record when it's not wrapped in a |
layout |
function rendering the layout of the actual log record |
appender |
function writing the log record |
Details
By default, a general logger definition is created when loading the logger package, that uses
-
INFO(or as per theLOGGER_LOG_LEVELenvironment variable override) as the log level threshold -
layout_simpleas the layout function showing the log level, timestamp and log message -
formatter_glue(orformatter_sprintfif glue is not installed) as the default formatter function transforming the R objects to be logged to a character vector -
appender_consoleas the default log record destination
Value
A function taking the log level to compare with the set threshold, all the ... arguments passed to the formatter function, besides the standard namespace, .logcall, .topcall and .topenv arguments (see log_level for more details). The function invisibly returns a list including the original level, namespace, all ... transformed to a list as params, the log message (after calling the formatter function) and the log record (after calling the layout function), and a list of handlers with the formatter, layout and appender functions.
Note
It's quite unlikely that you need to call this function directly, but instead set the logger parameters and functions at log_threshold, log_formatter, log_layout and log_appender and then call log_levels and its derivatives, such as log_info directly.
References
For more details, see the Anatomy of a Log Request vignette at https://daroczig.github.io/logger/articles/anatomy.html.
Examples
## Not run:
do.call(logger, logger:::namespaces$global[[1]])(INFO, 42)
do.call(logger, logger:::namespaces$global[[1]])(INFO, '{pi}')
x <- 42
do.call(logger, logger:::namespaces$global[[1]])(INFO, '{x}^2 = {x^2}')
## End(Not run)