Inject arbitrary values into all LogEvents processed by a Logger/Appender. It is recommended to use filters that modify LogEvents only with Loggers, but they will also work with Appenders.
Super class
lgr::EventFilter
-> FilterInject
Public fields
values
a named
list
of values to be injected into each LogEvent processed by this filter
Methods
Method new()
Initialize a new FilterInject
Usage
FilterInject$new(..., .list = list())
Arguments
..., .list
any number of named R objects that will be injected as custom fields into all LogEvents processed by the Appender/Logger that this filter is attached to. See also
with_log_value()
.
Examples
lg <- get_logger("test")
analyse <- function(){
lg$add_filter(FilterInject$new(type = "analysis"), "inject")
on.exit(lg$remove_filter("inject"))
lg$error("an error with forced custom 'type'-field")
}
analyse()
#> ERROR [20:58:43.669] an error with forced custom 'type'-field {type: `analysis`}
lg$error("an normal error")
#> ERROR [20:58:43.673] an normal error
lg$config(NULL) # reset config
#> <Logger> [info] test
#>
#> inherited appenders:
#> console: <AppenderConsole> [all] -> console