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: LayoutFormat, LayoutJson, Layout

Super class

lgr::Layout -> LayoutGlue

Active bindings

fmt

A string that will be interpreted by glue::glue()

Methods

Public methods

Inherited methods

Method new()

Usage

LayoutGlue$new(
  fmt = "{pad_right(colorize_levels(toupper(level_name)), 5)} [{timestamp}] msg"
)


Method format_event()

Usage

LayoutGlue$format_event(event)


Method set_fmt()

Usage

LayoutGlue$set_fmt(x)


Method set_colors()

Usage

LayoutGlue$set_colors(x)


Method toString()

Usage

LayoutGlue$toString()


Method clone()

The objects of this class are cloneable with this method.

Usage

LayoutGlue$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

lg <- get_logger("test")$ set_appenders(AppenderConsole$new())$ set_propagate(FALSE) lg$appenders[[1]]$set_layout(LayoutGlue$new()) lg$fatal("test")
#> FATAL [2021-09-16 08:07:54] msg
# 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