Skip to contents

Logs a message in a very visible way

Usage

log_with_separator(
  ...,
  level = INFO,
  namespace = NA_character_,
  separator = "=",
  width = 80
)

Arguments

...

R objects that can be converted to a character vector via the active message formatter function

level

log level, see log_levels() for more details

namespace

string referring to the logger environment / config to be used to override the target of the message record to be used instead of the default namespace, which is defined by the R package name from which the logger was called, and falls back to a common, global namespace.

separator

character to be used as a separator

width

max width of message – longer text will be wrapped into multiple lines

See also

Examples

log_with_separator("An important message")
#> INFO [2024-10-21 07:31:23] =====================================================
#> INFO [2024-10-21 07:31:23] = An important message                              =
#> INFO [2024-10-21 07:31:23] =====================================================
log_with_separator("Some critical KPI down!!!", separator = "$")
#> INFO [2024-10-21 07:31:23] $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
#> INFO [2024-10-21 07:31:23] $ Some critical KPI down!!!                         $
#> INFO [2024-10-21 07:31:23] $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
log_with_separator("This message is worth a {1e3} words")
#> INFO [2024-10-21 07:31:23] =====================================================
#> INFO [2024-10-21 07:31:23] = This message is worth a 1000 words                =
#> INFO [2024-10-21 07:31:23] =====================================================
log_with_separator(paste(
  "A very important message with a bunch of extra words that will",
  "eventually wrap into a multi-line message for our quite nice demo :wow:"
))
#> INFO [2024-10-21 07:31:23] =====================================================
#> INFO [2024-10-21 07:31:23] = A very important message with a bunch of extra    =
#> INFO [2024-10-21 07:31:23] = words that will eventually wrap into a            =
#> INFO [2024-10-21 07:31:23] = multi-line message for our quite nice demo :wow:  =
#> INFO [2024-10-21 07:31:23] =====================================================
log_with_separator(
  paste(
    "A very important message with a bunch of extra words that will",
    "eventually wrap into a multi-line message for our quite nice demo :wow:"
  ),
  width = 60
)
#> INFO [2024-10-21 07:31:23] =================================
#> INFO [2024-10-21 07:31:23] = A very important message      =
#> INFO [2024-10-21 07:31:23] = with a bunch of extra words   =
#> INFO [2024-10-21 07:31:23] = that will eventually wrap     =
#> INFO [2024-10-21 07:31:23] = into a multi-line message     =
#> INFO [2024-10-21 07:31:23] = for our quite nice demo       =
#> INFO [2024-10-21 07:31:23] = :wow:                         =
#> INFO [2024-10-21 07:31:23] =================================
log_with_separator("Boo!", level = FATAL)
#> FATAL [2024-10-21 07:31:23] ====================================================
#> FATAL [2024-10-21 07:31:23] = Boo!                                             =
#> FATAL [2024-10-21 07:31:23] ====================================================
log_layout(layout_blank)
log_with_separator("Boo!", level = FATAL)
#> ================================================================================
#> = Boo!                                                                         =
#> ================================================================================
logger <- layout_glue_generator(format = "{node}/{pid}/{namespace}/{fn} {time} {level}: {msg}")
log_layout(logger)
log_with_separator("Boo!", level = FATAL, width = 120)
#> fv-az1198-739/8176/global/eval 2024-10-21 07:31:23.517111 FATAL: =======================================================
#> fv-az1198-739/8176/global/log_with_separator 2024-10-21 07:31:23.517886 FATAL: = Boo!                                                =
#> fv-az1198-739/8176/global/eval 2024-10-21 07:31:23.519348 FATAL: ========================================================