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
Examples
log_with_separator("An important message")
#> INFO [2025-01-15 11:04:57] =====================================================
#> INFO [2025-01-15 11:04:57] = An important message =
#> INFO [2025-01-15 11:04:57] =====================================================
log_with_separator("Some critical KPI down!!!", separator = "$")
#> INFO [2025-01-15 11:04:57] $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
#> INFO [2025-01-15 11:04:57] $ Some critical KPI down!!! $
#> INFO [2025-01-15 11:04:57] $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
log_with_separator("This message is worth a {1e3} words")
#> INFO [2025-01-15 11:04:57] =====================================================
#> INFO [2025-01-15 11:04:57] = This message is worth a 1000 words =
#> INFO [2025-01-15 11:04:57] =====================================================
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 [2025-01-15 11:04:57] =====================================================
#> INFO [2025-01-15 11:04:57] = A very important message with a bunch of extra =
#> INFO [2025-01-15 11:04:57] = words that will eventually wrap into a =
#> INFO [2025-01-15 11:04:57] = multi-line message for our quite nice demo :wow: =
#> INFO [2025-01-15 11:04:57] =====================================================
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 [2025-01-15 11:04:57] =================================
#> INFO [2025-01-15 11:04:57] = A very important message =
#> INFO [2025-01-15 11:04:57] = with a bunch of extra words =
#> INFO [2025-01-15 11:04:57] = that will eventually wrap =
#> INFO [2025-01-15 11:04:57] = into a multi-line message =
#> INFO [2025-01-15 11:04:57] = for our quite nice demo =
#> INFO [2025-01-15 11:04:57] = :wow: =
#> INFO [2025-01-15 11:04:57] =================================
log_with_separator("Boo!", level = FATAL)
#> FATAL [2025-01-15 11:04:57] ====================================================
#> FATAL [2025-01-15 11:04:57] = Boo! =
#> FATAL [2025-01-15 11:04:57] ====================================================
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-az792-248/9729/global/eval 2025-01-15 11:04:57.113155 FATAL: ========================================================
#> fv-az792-248/9729/global/log_with_separator 2025-01-15 11:04:57.113937 FATAL: = Boo! =
#> fv-az792-248/9729/global/eval 2025-01-15 11:04:57.115407 FATAL: ========================================================