Format a LogEvent as human readable text using glue::glue. The function is evaluated in an environment in which it has access to all elements of the LogEvent (see examples). This is more flexible than LayoutFormat, but also more complex and slightly less performant.
See also
lgr exports a number of formatting utility functions that are
useful for layout glue: colorize_levels()
, pad_left()
, pad_right()
.
Other Layouts:
Layout
,
LayoutFormat
,
LayoutJson
Super class
lgr::Layout
-> LayoutGlue
Active bindings
fmt
A string that will be interpreted by
glue::glue()
Methods
Method new()
Usage
LayoutGlue$new(
fmt = "{pad_right(colorize_levels(toupper(level_name)), 5)} [{timestamp}] {msg}"
)
Method toString()
Examples
lg <- get_logger("test")$
set_appenders(AppenderConsole$new())$
set_propagate(FALSE)
lg$appenders[[1]]$set_layout(LayoutGlue$new())
lg$fatal("test")
#> FATAL [2025-04-14 20:58:44.82062] test
# All fields of the LogEvent are available, even custom ones
lg$appenders[[1]]$layout$set_fmt(
"{logger} {level_name}({level}) {caller}: {toupper(msg)} {{custom: {custom}}}"
)
lg$fatal("test", custom = "foobar")
#> test fatal(100) eval: TEST {custom: foobar}
lg$config(NULL) # reset logger config
#> <Logger> [info] test
#>
#> inherited appenders:
#> console: <AppenderConsole> [all] -> console