The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

logtree renders nested process execution as a live, colored tree in the console – tree connectors, status glyphs, and elapsed time per step – while keeping nesting depth correct even when a step errors partway through.
install.packages("logtree")
# or the development version
# install.packages("pak")
pak::pak("IvanSortino/logtree")library(logtree)
load_config <- function() {
log_step("Load config")
log_info("reading config.yml")
log_success("validated 12 parameters")
}
fetch_rows <- function() {
log_step("Fetch rows")
log_info("requesting from API")
log_warn("rate limit at 80%")
log_success("fetched 1,204 rows")
}
pipeline <- function() {
log_step("Nightly pipeline")
load_config()
fetch_rows()
}
with_logging(pipeline())
#> ▶ Nightly pipeline
#> ├─ ▶ Load config
#> │ ├─ ℹ reading config.yml
#> │ ├─ ✔ validated 12 parameters
#> │ └─ ✔ Done 0.00s
#> ├─ ▶ Fetch rows
#> │ ├─ ℹ requesting from API
#> │ ├─ ⚠ rate limit at 80%
#> │ ├─ ✔ fetched 1,204 rows
#> │ └─ ⚠ Done 0.00s
#> └─ ✔ Done 0.01s
#> ✔ Run complete in 0.01s
logtree_summary()
#>
#> ── Summary: 1 warning ──────────────────────────────────────────────────────────
#> ⚠ Nightly pipeline › Fetch rows › rate limit at 80%log_step() is meant to be called from inside a function:
the step auto-closes when the function that opened it returns –
normally, early, or via an uncaught error – so nesting depth never gets
stuck out of sync. (At top level, with no function frame to close on,
reach for log_open() / log_close()
instead.)
The log_warn() line turned its own step’s close glyph
yellow without throwing anything, and logtree_summary()
replayed it with the path it happened on.
with_logging() marks
every open step failed, logs the condition, and rethrows; it never
swallows an error.warning()
and message() become leaves in the tree instead of stderr
noise.logger bridge – route an existing logger codebase through
logtree in one call.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.