| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
loggit2 is an easy-to-use ndJSON logging library for R, with zero external dependencies.
Please see below for some quick examples, and read the vignettes for more.
loggit2 takes a minimalistic but powerful approach to logging in R:
Additionally, the boilerplate to get going with loggit2 is minimal at worst.
loggit2 provides, among other functions, a set of wrappings for base R’s message(), warning(), stop() and stopifnot() functions that maintain identical functionality, except the additional logging. Thus, it is sufficient to import the loggit2 namespace, for example by using library("loggit2"), or by prefixing loggit2:: at the desired locations.
base::message("This is another message")
#> This is another message
loggit2::message("This is a message")
#> {"timestamp": "2024-05-26T16:39:20+0200", "log_lvl": "INFO", "log_msg": "This is a message\n"}
#> This is a message
base::warning("This is another warning")
#> Warning: This is another warning
loggit2::warning("This is a warning")
#> {"timestamp": "2024-05-26T16:39:20+0200", "log_lvl": "WARN", "log_msg": "This is a warning"}
#> Warning: This is a warning
base::stop("This is another error")
#> Error in eval(expr, envir, enclos): This is another error
loggit2::stop("This is an error")
#> {"timestamp": "2024-05-26T16:39:20+0200", "log_lvl": "ERROR", "log_msg": "This is an error"}
#> Error in eval(expr, envir, enclos): This is an error
base::stopifnot("This is another condition" = FALSE)
#> Error: This is another condition
loggit2::stopifnot("This is another condition" = FALSE)
#> {"timestamp": "2024-05-26T16:39:20+0200", "log_lvl": "ERROR", "log_msg": "This is another condition"}
#> Error: This is another conditionYou can suppress the additional console output by using echo = FALSE and you won’t notice any difference to the base functions (except that the log will be filled in the background).
You can also directly use the logging function loggit() to compose much more custom logs, e.g. to include custom fields or to prevent throwing actual conditions.
loggit2::loggit("ERROR", "This will log an error", anything_else = "you want to include")
#> {"timestamp": "2024-05-26T16:39:20+0200", "log_lvl": "ERROR", "log_msg": "This will log an error", "anything_else": "you want to include"}
# Read log file into data frame to implement logic based on entries
loggit2::read_logs()
#> timestamp log_lvl log_msg anything_else
#> 1 2024-05-26T16:39:20+0200 INFO This is a message\n <NA>
#> 2 2024-05-26T16:39:20+0200 WARN This is a warning <NA>
#> 3 2024-05-26T16:39:20+0200 ERROR This is an error <NA>
#> 4 2024-05-26T16:39:20+0200 ERROR This is another condition <NA>
#> 5 2024-05-26T16:39:20+0200 ERROR This will log an error you want to includeNo further configurations are necessary for this: just throw nearly whatever you want at it, and it’ll become a structured log.
Check out the vignettes for more details and features.
You can install the latest CRAN release of loggit2 via
install.packages("loggit2")
or, get the latest development version from GitHub via
devtools::install_github("MEO265/loggit2")
This package is based on the “loggit” package by Ryan Price, specifically version 2.1.1.
| Back | FazBrowse Home | New Git URL |