The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Rlg listing page.
Near-lock-free structured logging for Rust, plus an ecosystem of companion crates: CLI tooling, MCP server, OTLP exporter, tower middleware, WebAssembly bindings, PII redaction, test utilities, and aggregation reports.
This is the Cargo workspace root. The library lives at
crates/rlg. Ten companion crates ship from this
workspace, all at lockstep version 0.0.11.
| Crate | What it does | Use case |
|---|---|---|
rlg | Near-lock-free structured logging engine. 65k-slot ring buffer, deferred formatting, 14 output formats, native OS sinks (os_log via syslog(3), journald). | Embed structured logging in any Rust binary or library. |
rlg-cli | rlg binary — jq for structured logs. Tail, filter, convert across all 14 formats. | Pipe my-service | rlg --min-level error --format ecs from the shell. |
rlg-mcp | Model Context Protocol server exposing rlg streams as tools to LLM agents. | Claude Desktop, Cursor, mcp.run agents reading your logs. |
rlg-otlp | OpenTelemetry network exporter (OTLP/HTTP JSON). | Ship records to Honeycomb, Datadog, Tempo, Jaeger, otelcol. |
rlg-tower | tower::Layer emitting per-request structured access logs. | axum, tonic, hyper, lambda_runtime — any tower::Service. |
rlg-wasm | wasm-bindgen wrapper for browser / Deno / Cloudflare Workers / Bun, plus a WASI 0.2 component interface for wasmtime hosts. | Structured logging from JS or WASI 0.2 components. |
rlg-redact | PII / secret redaction between Log::fire() and the sink. Aho-Corasick fused alternation regex. | Compliance, GDPR, audit-trail safety. Built-in patterns for cards, JWTs, bearers, emails, IPs, AWS keys. |
rlg-test | Test utilities — capture rlg records in a #[test] scope and assert on them with assert_logged!. | Downstream library tests verifying their structured log output. |
rlg-report | Log digest / analytics: count by level, top components, top errors, latency percentiles. CLI + library mode. | Operational dashboards, daily error reports, oncall triage. |
rlg-ebpf | Enricher trait + ProcessEnricher (portable) + EbpfEnricher scaffold (Linux, behind the ebpf feature) for automatic PID / process-name attributes. | Automatic host-level context on every record without app code changes. |
xtask (internal, unpublished) | cargo xtask check-all / coverage / audit / doc / examples / bench / release. | Maintainer automation. |
CLI binaries:
The MCP server crate, rlg-mcp, exposes rlg
log streams to LLM agents as three MCP tools over the stdio transport:
tail_log — path, optional n (default 100) → last n parseable records, rendered in Logfmt.filter_log — path, optional min_level / component / format → records matching every supplied filter, in the chosen LogFormat.summarize_errors — path → JSON map of component → error_count for ERROR-and-above records.crates/rlg/README.md · docs.rs/rlgCONTRIBUTING.mdSECURITY.mdCHANGELOG.mdDual-licensed under Apache 2.0 or MIT, at your option.