As I was thinking about the recent comment in #26, I wonder if there could be convenience in having print and as.character S3 methods for the return value to facilitate the nested use.
library(logger)
logged <- log_info("test")
# INFO [2024-04-09 09:20:45] test
class(logged)
# [1] "list"
class(logged) <- c("logger", "list")
print.logger <- function(x, ..., index = 1) print.default(unname(x[[index]]$record), ...)
as.character.logger <- function(x, ..., index = 1) unname(x[[index]]$record)
logged
# [1] "INFO [2024-04-09 09:20:45] test"
jsonlite::toJSON(as.character(logged))
# ["INFO [2024-04-09 09:20:45] test"]
Thoughts? They're effectively "free" and come closer to my original thoughts when suggesting pass-through.
As I was thinking about the recent comment in #26, I wonder if there could be convenience in having
printandas.characterS3 methods for the return value to facilitate the nested use.Thoughts? They're effectively "free" and come closer to my original thoughts when suggesting pass-through.