appcore-log
Stable documentation ID: ACR-027.
Published release: appcore-log 1.0.0-rc.2.
appcore-log is the bounded structured logging pipeline shared by Runtime
components and the SDK. It separates severity from V1–V9 verbosity, filters
before formatting, sanitizes before ordinary sinks, and accounts destination
failures without recursively logging them.
Choose it when
- an application needs terminal, JSONL, both, disabled, or crash-only output;
- a Runtime component needs hierarchical per-component filtering;
- logs need explicit file size, rotation, archive, event-count, and memory limits;
- sensitive diagnostics must use authenticated encrypted DNT.
It is not a process-global logging facade, profiler, telemetry vendor adapter,
or panic handler. The owner constructs and retains ConfiguredLogger.
Main contracts
LoggerConfigandLogOutputModeselect normal destinations;LogPolicycontrols verbosity, path aliases, and sensitivity;LogDispatcherfilters, sanitizes, fans out, and exposes counters;FileSinkConfigandFileArchiveConfigbound JSONL history;RingBufferSinkbounds in-memory diagnostics by count and retained bytes;SensitiveDntSinkis the only built-in sensitive destination.
The active file directory must already exist. Archive YYYY/MM directories
are created when rotation needs them. sync_each_write trades throughput for
per-event storage durability.
For complete setup, limits, examples, and benchmark commands, use the crate-owned English guide, Portuguese guide, or French guide. The source also keeps the runnable basic example and intermediate example.