An Appender that Buffers LogEvents in-memory and and redirects them to other Appenders once certain conditions are met.

Fields

appenders, set_appenders()

Like for a Logger. Buffered events will be passed on to these Appenders once a flush is triggered

flush_on_exit, set_flush_on_exit(x)

TRUE or FALSE: Whether the buffer should be flushed when the Appender is garbage collected (f.e when you close R)

flush_on_rotate, set_flush_on_rotate

TRUE or FALSE: Whether the buffer should be flushed when the Buffer is full (f.e when you close R). Setting this to off can have slightly negative performance impacts.

Super classes

lgr::Filterable -> lgr::Appender -> lgr::AppenderMemory -> AppenderBuffer

Methods

Inherited methods


Method new()

The Layout for this Appender is used only to format console output of its $show() method.

Usage

AppenderBuffer$new(
  threshold = NA_integer_,
  layout = LayoutFormat$new(fmt = "%L [%t] %m", timestamp_fmt = "%H:%M:%S",
    colors = getOption("lgr.colors")),
  appenders = NULL,
  buffer_size = 1000,
  flush_threshold = NULL,
  flush_on_exit = TRUE,
  flush_on_rotate = TRUE,
  should_flush = NULL,
  filters = NULL
)


Method flush()

Sends the buffer's contents to all attached Appenders and then clears the Buffer

Usage

AppenderBuffer$flush()


Method clear()

Clears the buffer, discarding all buffered Events

Usage

AppenderBuffer$clear()


Method set_appenders()

Exactly like A Logger, an AppenderBuffer can have an arbitrary amount of Appenders attached. When the buffer is flushed, the buffered events are dispatched to these Appenders.

Usage

AppenderBuffer$set_appenders(x)

Arguments

x

single Appender or a list thereof. Appenders control the output of a Logger. Be aware that a Logger also inherits the Appenders of its ancestors (see vignette("lgr", package = "lgr") for more info about Logger inheritance).


Method add_appender()

Add an Appender to the AppenderBuffer

Add or remove an Appender. Supplying a name is optional but recommended. After adding an Appender with appender$add_appender(AppenderConsole$new(), name = "console") you can refer to it via appender$appenders$console. remove_appender() can remove an Appender by position or name.

Usage

AppenderBuffer$add_appender(appender, name = NULL)

Arguments

appender

a single Appender

name

a character scalar. Optional but recommended.


Method remove_appender()

remove an appender

Usage

AppenderBuffer$remove_appender(pos)

Arguments

pos

integer index or character name of the Appender(s) to remove


Method format()

Usage

AppenderBuffer$format(...)