This function provides an easy way to set the basic log
layout of the pipeline logging. For a fine-grained control of the logger,
which you can retrieve via lgr::get_logger("pipeflow")
, see e.g. the
logger_config function from the lgr package.
Usage
set_log_layout(layout = c("text", "json"))
Examples
p <- Pipeline$new("pipe", data = 1:2)
p$add("add1", \(data = ~data, x = 1) x + data)
p$run()
#> INFO [2025-01-03 19:12:49.736] Start run of 'pipe' pipeline:
#> INFO [2025-01-03 19:12:49.738] Step 1/2 data
#> INFO [2025-01-03 19:12:49.745] Step 2/2 add1
#> INFO [2025-01-03 19:12:49.752] Finished execution of steps.
#> INFO [2025-01-03 19:12:49.753] Done.
lg <- set_log_layout("json")
print(lg)
#> <Logger> [info] pipeflow
#>
#> appenders:
#> [[1]]: <AppenderConsole> [all] -> console
p$run()
#> {"application":"pipeflow","level":"info","time":"2025-01-03T19:12:49+1:00","message":"Start run of 'pipe' pipeline:"}
#> {"application":"pipeflow","level":"info","time":"2025-01-03T19:12:49+1:00","message":"Step 1/2 data - skip 'done' step"}
#> {"application":"pipeflow","level":"info","time":"2025-01-03T19:12:49+1:00","message":"Step 2/2 add1 - skip 'done' step"}
#> {"application":"pipeflow","level":"info","time":"2025-01-03T19:12:49+1:00","message":"Finished execution of steps."}
#> {"application":"pipeflow","level":"info","time":"2025-01-03T19:12:49+1:00","message":"Done."}
set_log_layout("text")
p$run()
#> INFO [2025-01-03 19:12:49.837] Start run of 'pipe' pipeline:
#> INFO [2025-01-03 19:12:49.838] Step 1/2 data - skip 'done' step
#> INFO [2025-01-03 19:12:49.839] Step 2/2 add1 - skip 'done' step
#> INFO [2025-01-03 19:12:49.840] Finished execution of steps.
#> INFO [2025-01-03 19:12:49.840] Done.