You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.5KB

  1. .onLoad <- function(libname, pkgname) {
  2. gathertweet_layout <- futile.logger::layout.format(
  3. "[~t] [~l] ~m"
  4. )
  5. futile.logger::flog.layout(gathertweet_layout, name = "gathertweet")
  6. }
  7. #' @title Logging functions
  8. #' @export
  9. logger <- function(..., level = "info", envir = parent.frame()) {
  10. msg <- glue::glue(..., .envir = envir)
  11. futile_logger <- switch(
  12. tolower(level),
  13. "trace" = futile.logger::flog.trace,
  14. "debug" = futile.logger::flog.debug,
  15. "info" = futile.logger::flog.info,
  16. "warn" = futile.logger::flog.warn,
  17. "error" = futile.logger::flog.error,
  18. "fatal" = futile.logger::flog.fatal,
  19. futile.logger::flog.info
  20. )
  21. futile_logger(msg)
  22. }
  23. #' @rdname logger
  24. #' @export
  25. log_info <- function(..., envir = parent.frame()) {
  26. logger(..., level = "info", envir = envir)
  27. }
  28. #' @rdname logger
  29. #' @export
  30. log_debug <- function(..., envir = parent.frame()) {
  31. logger(..., level = "debug", envir = envir)
  32. }
  33. #' @rdname logger
  34. #' @export
  35. log_warn <- function(..., envir = parent.frame()) {
  36. logger(..., level = "warn", envir = envir)
  37. }
  38. #' @rdname logger
  39. #' @export
  40. log_error <- function(..., envir = parent.frame()) {
  41. logger(..., level = "error", envir = envir)
  42. }
  43. #' @rdname logger
  44. #' @export
  45. log_fatal <- function(..., envir = parent.frame()) {
  46. logger(..., level = "fatal", envir = envir)
  47. rlang::abort(glue::glue(..., .envir = envir))
  48. }
  49. #' @rdname logger
  50. #' @export
  51. log_pipe <- function(.data, ..., level = "info") {
  52. msg <- glue::glue(...)
  53. logger(msg, level = level)
  54. }