← Back to all sparks
L

logger

INFRA · APIS
Velocity0.0

R package logger by daroczig — release notes from GitHub.

R's logging package handed to new maintainers and rebuilt from the inside out

r-packageloggingobservabilityextensibilitymaintainership
Current state
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.
Where it's heading
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.
Prediction
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.

Recent moves

  1. 3mo ago

    logger 0.4.2 (2026-05-08)

    A maintenance release adding appender_ntfy() for push notifications and quieting a normalizePath() warning when package source is absent. Another destination slotted into the appender interface without touching anything else.

    View source ↗
  2. 11mo ago

    logger 0.4.1 (2025-09-08)

    Adds log_elapsed() for cumulative timing, a traceback toggle on log_errors(), call file and line location exposed to layouts, a cli-syntax formatter, and knitr chunk timing. A dense quality-of-life release that fills in long-open issues without altering the formatter/layout/appender contract.

    View source ↗
  3. 11mo ago

    logger 0.4.0 (2024-10-19)

    Makes metadata computation lazy so expensive fields are only evaluated when a layout uses them, replaces the custom async appender machinery with mirai, and adds layout_gha() for native GitHub Actions output. The performance and internals work here is what the 0.4.1 feature run builds on.

    View source ↗
  4. 11mo ago

    logger 0.3.0 (2024-03-03)

    Collects more than two years of accumulated community contributions: an OFF level, formatter_glue_safe, the as.loglevel helper, an env-var override for the default level, and assorted fixes. The breadth of contributors and the length of the backlog both mark this as a catch-up release.

    View source ↗
  5. 11mo ago

    logger 0.2.2 (2021-10-10)

    A maintenance release fixing unbalanced code chunk delimiters in a vignette. Documentation-level only, from the package's quiet period.

    View source ↗
  6. 11mo ago

    logger 0.2.1 (2021-07-06)

    Updates appender_slack() to call slackr_msg() after an upstream rename. A one-line adaptation to a dependency, and typical of how appenders age against the services they target.

    View source ↗