
Format a log message with glue::glue() and ANSI escape codes to add colors
Source: R/layouts.R
layout_glue_colors.RdColour log levels based on their severity. Log levels are coloured
with colorize_by_log_level() and the messages are coloured with
grayscale_by_log_level().
Usage
layout_glue_colors(
level,
msg,
namespace = NA_character_,
.logcall = sys.call(),
.topcall = sys.call(-1),
.topenv = parent.frame(),
.timestamp = Sys.time()
)Arguments
- level
log level, see
log_levels()for more details- msg
string message
- namespace
string referring to the
loggerenvironment / 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.- .logcall
the logging call being evaluated (useful in formatters and layouts when you want to have access to the raw, unevaluated R expression)
- .topcall
R expression from which the logging function was called (useful in formatters and layouts to extract the calling function's name or arguments)
- .topenv
original frame of the
.topcallcalling function where the formatter function will be evaluated and that is used to look up thenamespaceas well vialogger:::top_env_name- .timestamp
The time the logging occured. Defaults to the current time but may be overwritten if the logging is delayed from the time it happend
Examples
log_layout(layout_glue_colors)
log_threshold(TRACE)
log_info("Starting the script...")
#> INFO [2026-01-06 21:43:03] Starting the script...
log_debug("This is the second line")
#> DEBUG [2026-01-06 21:43:03] This is the second line
log_trace("That is being placed right after the first one.")
#> TRACE [2026-01-06 21:43:03] That is being placed right after the first one.
log_warn("Some errors might come!")
#> WARN [2026-01-06 21:43:03] Some errors might come!
log_error("This is a problem")
#> ERROR [2026-01-06 21:43:03] This is a problem
log_debug("Getting an error is usually bad")
#> DEBUG [2026-01-06 21:43:03] Getting an error is usually bad
log_error("This is another problem")
#> ERROR [2026-01-06 21:43:03] This is another problem
log_fatal("The last problem.")
#> FATAL [2026-01-06 21:43:03] The last problem.