An event_list is a class for list()
s whose only elements are LogEvents.
This structure is occasionally used internally in lgr (for example by
AppenderBuffer) and can be useful for developers that want to write
their own Appenders.
event_list(...)
as_event_list(x, ...)
# S3 method for list
as_event_list(x, ..., scalarize = FALSE)
# S3 method for LogEvent
as_event_list(x, ..., scalarize = FALSE)
# S3 method for data.frame
as_event_list(x, na.rm = TRUE, ...)
as.data.table.event_list(x, na.rm = TRUE)
# S3 method for event_list
as.data.frame(
x,
row.names = NULL,
optional = FALSE,
stringsAsFactors = FALSE,
na.rm = TRUE,
...
)
for event
elements to be added to the list, for the as_*()
functions parameters passed on to methods.
any R
object
logical
scalar. Turn LogEvents with non-scalar msg
field into separate log events
remove NA
values before coercing a data.frame to an event_list()
.
NULL
or a character vector giving the row
names for the data frame. Missing values are not allowed.
currently ignored and only included for compatibility.
logical
scalar: should character
vectors be
converted to factors? Defaults to FALSE
(as opposed to
base::as.data.frame()
) and is only included for compatibility.
an event_list()
and as_event_list()
return a flat list
of LogEvents. Nested lists get automatically flattened.
as.data.frame
and as.data.table
return a data.frame
or data.table
respectively
For convenience, as.data.frame()
and as.data.table()
methods
exist for event lists.
Other docs relevant for extending lgr:
LogEvent
,
as_LogEvent()
,
standardize_threshold()
e <- LogEvent$new(level = 300, msg = "a", logger = lgr)
as_event_list(e)
#> [[1]]
#> WARN [2023-03-04 20:04:38] a
#>
#> attr(,"class")
#> [1] "event_list" "list"
as_event_list(c(e, e))
#> [[1]]
#> WARN [2023-03-04 20:04:38] a
#>
#> [[2]]
#> WARN [2023-03-04 20:04:38] a
#>
#> attr(,"class")
#> [1] "event_list" "list"
# nested lists get automatically unnested
as_event_list(c(e, list(nested_event = e)))
#> [[1]]
#> WARN [2023-03-04 20:04:38] a
#>
#> $nested_event
#> WARN [2023-03-04 20:04:38] a
#>
#> attr(,"class")
#> [1] "event_list" "list"
# scalarize = TRUE "unpacks" events with vector log messages
e <- LogEvent$new(level = 300, msg = c("A", "B"), logger = lgr)
as_event_list(e, scalarize = FALSE)
#> [[1]]
#> WARN [2023-03-04 20:04:38] A
#> WARN [2023-03-04 20:04:38] B
#>
#> attr(,"class")
#> [1] "event_list" "list"
as_event_list(e, scalarize = TRUE)
#> [[1]]
#> WARN [2023-03-04 20:04:38] A
#>
#> [[2]]
#> WARN [2023-03-04 20:04:38] B
#>
#> attr(,"class")
#> [1] "event_list" "list"