formatter_glue_or_sprintf {logger} | R Documentation |
Apply glue
and sprintf
Description
The best of both words: using both formatter functions in your log messages, which can be useful eg if you are migrating from sprintf
formatted log messages to glue
or similar.
Usage
formatter_glue_or_sprintf(
msg,
...,
.logcall = sys.call(),
.topcall = sys.call(-1),
.topenv = parent.frame()
)
Arguments
msg |
passed to |
... |
passed to |
.logcall |
the logging call being evaluated (useful in formatters and layouts when you want to have access to the raw, unevaluated R expression) |
.topcall |
R expression from which the logging function was called (useful in formatters and layouts to extract the calling function's name or arguments) |
.topenv |
original frame of the |
Details
Note that this function tries to be smart when passing arguments to glue
and sprintf
, but might fail with some edge cases, and returns an unformatted string.
Value
character vector
See Also
This is a log_formatter
, for alternatives, see formatter_paste
, formatter_sprintf
, formatter_glue
, formatter_glue_safe
, formatter_logging
, formatter_json
, formatter_pander
and skip_formatter
for marking a string not to apply the formatter on it.
Examples
## Not run:
formatter_glue_or_sprintf("{a} + {b} = %s", a = 2, b = 3, 5)
formatter_glue_or_sprintf("{pi} * {2} = %s", pi*2)
formatter_glue_or_sprintf("{pi} * {2} = {pi*2}")
formatter_glue_or_sprintf("Hi ", "{c('foo', 'bar')}, did you know that 2*4={2*4}")
formatter_glue_or_sprintf("Hi {c('foo', 'bar')}, did you know that 2*4={2*4}")
formatter_glue_or_sprintf("Hi {c('foo', 'bar')}, did you know that 2*4=%s", 2*4)
formatter_glue_or_sprintf("Hi %s, did you know that 2*4={2*4}", c('foo', 'bar'))
formatter_glue_or_sprintf("Hi %s, did you know that 2*4=%s", c('foo', 'bar'), 2*4)
## End(Not run)