Skip to contents

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"))

Arguments

layout

Layout name, which at this point can be either 'text' or 'json'.

Value

invisibly returns a Logger object

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.