Skip to content

FR: print and as.character methods? #152

@r2evans

Description

@r2evans

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions