← Back to all sparks
L

logr

ANALYTICS
Velocity2.5

A SAS-style logging package for R, shipping small and slowly by design.

loggingr-packagesas-migrationclinical-reportingmaintenance
Current state
logr produces SAS-style log files for R scripts, and is one component of the r-sassy suite aimed at analysts migrating clinical and pharmaceutical workflows off SAS. Release notes are terse — often a single line — and the cadence has thinned considerably, with one release in 2026 following a long gap. The functionality visible across this window is essentially complete: handlers, suspend and resume, explicit log_info/log_error/log_warning entries, and console output.
Where it's heading
The arc runs from correctness work on warning and error capture toward giving users control over where log output goes and how it is formatted. Recent releases are refinements of message content rather than new logging concepts, which is what a package settling into maintenance looks like. Nothing in these entries suggests an expansion of scope beyond the SAS-log-emulation brief.
Prediction
Expect continued low-volume maintenance releases refining message detail and integration with the rest of the r-sassy suite, rather than new logging capability.

Recent moves

  1. 9d ago

    Warning messages now name their source function

    Adds the originating function name to warning messages in the log. A single-line refinement to message content, useful when tracing a warning back through a script but not a change in what the package does. It is the only release logr has shipped in five months.

    View source ↗
  2. 5mo ago

    Console output, log_info(), and directory-level log paths

    The substantive release of this window: a stdout option sends log output to the console instead of a file, log_info() adds explicit informational entries, and the logdir parameter accepts a directory name. Line-size control and a vignette on integrating logr into custom packages round it out. Together these broaden logr from a file-writing logger into something usable interactively and embeddable in other packages.

    View source ↗
  3. 2y ago

    Recursive warning and null-warning fixes

    Fixes recursive warnings and an error triggered by NULL warnings with a zero frame count. Narrow corrections to the warning-capture path introduced in earlier releases. No change to the interface.

    View source ↗
  4. 2y ago

    log_suspend(), log_resume(), and explicit error/warning entries

    Adds paired suspend and resume functions, explicit log_error() and log_warning() entries, a get_warnings() accessor, and options to omit the header and footer. Also ensures handlers are disconnected when a log closes. This is the release that gave users direct control over the log rather than leaving everything to automatic capture.

    View source ↗
  5. 2y ago

    Warnings print as expected again

    Corrects warning output so it prints as intended, and adds a line feed before other packages in the log header. Cosmetic and corrective, in the same warning-handling area the surrounding releases repeatedly revisit.

    View source ↗
  6. 2y ago

    UTF-8 handling in log_code() and crayon colour-code removal

    Fixes UTF-8 character handling in log_code() and drops the code that stripped colour codes inserted by the crayon package. Housekeeping against upstream ecosystem changes with no effect on the logging interface.

    View source ↗