
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
See also
Other log_layouts:
get_logger_meta_variables(),
layout_blank(),
layout_gha(),
layout_glue(),
layout_glue_generator(),
layout_json(),
layout_json_parser(),
layout_logging(),
layout_simple()
Examples
log_layout(layout_glue_colors)
log_threshold(TRACE)
log_info("Starting the script...")
#> INFO [2025-10-30 21:00:48] Starting the script...
log_debug("This is the second line")
#> DEBUG [2025-10-30 21:00:48] This is the second line
log_trace("That is being placed right after the first one.")
#> TRACE [2025-10-30 21:00:48] That is being placed right after the first one.
log_warn("Some errors might come!")
#> WARN [2025-10-30 21:00:48] Some errors might come!
log_error("This is a problem")
#> ERROR [2025-10-30 21:00:48] This is a problem
log_debug("Getting an error is usually bad")
#> DEBUG [2025-10-30 21:00:48] Getting an error is usually bad
log_error("This is another problem")
#> ERROR [2025-10-30 21:00:48] This is another problem
log_fatal("The last problem.")
#> FATAL [2025-10-30 21:00:48] The last problem.