
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
Examples
log_formatter(formatter_json)
log_info(everything = 42)
#> INFO [2026-01-06 21:43:04] {"everything":42}
log_layout(layout_json_parser())
log_info(everything = 42)
#> {"time":"2026-01-06 21:43:04","level":"INFO","ns":"global","ans":"global","topenv":"R_GlobalEnv","fn":"eval","node":"runnervmh13bl","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":9154,"user":"runner","everything":42}
log_layout(layout_json_parser(fields = c("time", "node")))
log_info(cars = row.names(mtcars), species = unique(iris$Species))
#> {"time":"2026-01-06 21:43:04","node":"runnervmh13bl","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":"2026-01-06 21:43:04","node":"runnervmh13bl","message":"Compared to the previous example,\n the 'time' field is renamed to 'timestamp'"}