The logging package uses a formatter that behaves differently when the input is a string or other R object. If the first argument is a string, then sprintf
is being called -- otherwise it does something like log_eval
and logs the R expression(s) and the result(s) as well.
formatter_logging(
...,
.logcall = sys.call(),
.topcall = sys.call(-1),
.topenv = parent.frame()
)
string and further params passed to sprintf
or R expressions to be evaluated
the logging call being evaluated (useful in formatters and layouts when you want to have access to the raw, unevaluated R expression)
R expression from which the logging function was called (useful in formatters and layouts to extract the calling function's name or arguments)
original frame of the .topcall
calling function where the formatter function will be evaluated and that is used to look up the namespace
as well via logger:::top_env_name
character vector
This is a log_formatter
, for alternatives, see formatter_paste
, formatter_glue
, formatter_glue_safe
, formatter_glue_or_sprintf
, formatter_json
, formatter_pander
and skip_formatter
for marking a string not to apply the formatter on it.