with_log_level temporarily overrides the log level of all LogEvents created by target Logger.

with_log_level(level, code, logger = lgr::lgr)

with_log_value(values, code, logger = lgr::lgr)

Arguments

level

integer or character scalar: the desired log level

code

Any R code

logger

a Logger or the name of one (see get_logger()). Defaults to the root logger (lgr::lgr).

values

a named list of values to be injected into the logging calls

Value

whatever code would return

Details

These functions abuses lgr's filter mechanic to modify LogEvents in-place before they passed on the Appenders. Use with care as they can produce hard to reason about code.

Examples

with_log_level("warn", { lgr$info("More important than it seems") lgr$fatal("Really not so bad") }) with_log_value( list(msg = "overriden msg"), { lgr$info("bar") lgr$fatal("FOO") })