
Generate log layout function rendering JSON after merging meta fields with parsed list from JSON message
Source:R/layouts.R
      layout_json_parser.RdGenerate log layout function rendering JSON after merging meta fields with parsed list from JSON message
See also
Other log_layouts:
get_logger_meta_variables(),
layout_blank(),
layout_gha(),
layout_glue(),
layout_glue_colors(),
layout_glue_generator(),
layout_json(),
layout_logging(),
layout_simple()
Examples
log_formatter(formatter_json)
log_info(everything = 42)
#> INFO [2025-10-30 21:00:49] {"everything":42}
log_layout(layout_json_parser())
log_info(everything = 42)
#> {"time":"2025-10-30 21:00:49","level":"INFO","ns":"global","ans":"global","topenv":"R_GlobalEnv","fn":"eval","node":"runnervmwhb2z","arch":"x86_64","os_name":"Linux","os_release":"6.11.0-1018-azure","os_version":"#18~24.04.1-Ubuntu SMP Sat Jun 28 04:46:03 UTC 2025","pid":9787,"user":"runner","everything":42}
log_layout(layout_json_parser(fields = c("time", "node")))
log_info(cars = row.names(mtcars), species = unique(iris$Species))
#> {"time":"2025-10-30 21:00:49","node":"runnervmwhb2z","cars":["Mazda RX4","Mazda RX4 Wag","Datsun 710","Hornet 4 Drive","Hornet Sportabout","Valiant","Duster 360","Merc 240D","Merc 230","Merc 280","Merc 280C","Merc 450SE","Merc 450SL","Merc 450SLC","Cadillac Fleetwood","Lincoln Continental","Chrysler Imperial","Fiat 128","Honda Civic","Toyota Corolla","Toyota Corona","Dodge Challenger","AMC Javelin","Camaro Z28","Pontiac Firebird","Fiat X1-9","Porsche 914-2","Lotus Europa","Ford Pantera L","Ferrari Dino","Maserati Bora","Volvo 142E"],"species":["setosa","versicolor","virginica"]}
log_layout(layout_json_parser(fields = c(timestamp = "time", "node")))
log_info(
  message = paste(
    "Compared to the previous example,
    the 'time' field is renamed to 'timestamp'"
  )
)
#> {"timestamp":"2025-10-30 21:00:49","node":"runnervmwhb2z","message":"Compared to the previous example,\n    the 'time' field is renamed to 'timestamp'"}