skytrackr
Light-based animal geolocation gets a second model that stops assuming the bird sat still.
A side-by-side editorial comparison of logger and whirl — release velocity, themes, recent moves, and the top alternatives to consider.
R's logging package handed to new maintainers and rebuilt from the inside out
logger structures R logging around four composable pieces — a level threshold, a formatter, a layout and an appender — a design fixed at the 2018 CRAN release and unchanged since. The recent work is all underneath it. 0.4.0 made metadata computation lazy so expensive fields cost nothing unless a layout uses them, swapped the custom background-process appender for mirai, and added native GitHub Actions output. 0.4.1 followed with elapsed-time logging, call site location exposed to layouts, a cli-based formatter, and knitr chunk timing. 0.4.2 is a small maintenance release adding an ntfy appender.
whirl turned script logging into a standardized provenance artifact regulators can read.
A parallel R script runner that produces execution logs, aimed at regulated analysis environments. The 0.3.0 release added write_biocompute(), emitting logs as BioCompute Objects in standardized JSON, and simplified the approved-package check to a plain package@version vector. Since then the work has been about what the log can be trusted to contain: an environment_secrets option to keep secret variables out of it, direct versus indirect package usage distinguished and highlighted against the approved list, and the same approval check extended to Python packages.
logger structures R logging around four composable pieces — a level threshold, a formatter, a layout and an appender — a design fixed at the 2018 CRAN release and unchanged since. The recent work is all underneath it. 0.4.0 made metadata computation lazy so expensive fields cost nothing unless a layout uses them, swapped the custom background-process appender for mirai, and added native GitHub Actions output. 0.4.1 followed with elapsed-time logging, call site location exposed to layouts, a cli-based formatter, and knitr chunk timing. 0.4.2 is a small maintenance release adding an ntfy appender.
Two things stand out. The original four-part architecture has absorbed six years of additions without being renegotiated — every new capability arrives as another formatter, layout or appender rather than a change to the contract. And the contributor pattern has shifted: 0.3.0 collected two years of scattered community patches, while 0.4.0 and 0.4.1 are concentrated work from a small number of prolific R-infrastructure maintainers, which reads as a handover of stewardship rather than a maintenance lull ending.
The pluggable design means new destinations and formatters are the path of least resistance, so expect further appenders in the mold of ntfy and Slack rather than changes to the core logging contract.
A parallel R script runner that produces execution logs, aimed at regulated analysis environments. The 0.3.0 release added write_biocompute(), emitting logs as BioCompute Objects in standardized JSON, and simplified the approved-package check to a plain package@version vector. Since then the work has been about what the log can be trusted to contain: an environment_secrets option to keep secret variables out of it, direct versus indirect package usage distinguished and highlighted against the approved list, and the same approval check extended to Python packages.
The through-line is the log as evidence rather than as debugging output. Every recent addition either widens what the log proves — which packages were really used, in which language, against which approved list — or narrows what it must not leak. Setting options only through an explicit with_options argument to run() and getting renv library paths right for Quarto both point the same way: reproducible, auditable child sessions with nothing implicit.
Expect the approved-package and provenance machinery to keep expanding across languages and environments, since Python approval checks followed the R ones and both feed the same log.
Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either logger or whirl.
Light-based animal geolocation gets a second model that stops assuming the bird sat still.
ESPHome ships on a calendar, and the August beta train is now four builds deep.
rapr generalises its Rangeland Analysis Platform API access one endpoint at a time
A small B-Cubed utility for turning R Markdown into publishable docs
An R interface to GeoPackage that keeps sanding down its own API
Four dormant years end with a test fix, not a feature
See all logger alternatives → · See all whirl alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — logging — within Infra & APIs. logger and whirl are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. logger and whirl are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top logger alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "logger alternatives" section above for the current picks, or visit /alternatives/logger for the full list with editorial commentary on each.
Top whirl alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "whirl alternatives" section above for the current picks, or visit /alternatives/whirl for the full list with editorial commentary on each.