sebastienrousseau

rlg — RustLogs

Community sebastienrousseau
Updated

Near-lock-free structured logging for Rust. 10-crate workspace: MCP server (Claude/Cursor/mcp.run), OTLP HTTP+gRPC exporter, Tower middleware, WASM + WASI 0.2 component, eBPF-style enrichers, PII redaction, log analytics, test utilities, and a jq-style CLI. Sub-µs ingest via a 65k-slot ring buffer (LMAX Disruptor).

rlg — RustLogs

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 atcrates/rlg. Ten companion crates ship from thisworkspace, all at lockstep version 0.0.11.

The rlg ecosystem

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.

Install one, install all

[dependencies]
rlg         = "0.0.11"
rlg-otlp    = "0.0.11"  # ship to an OTLP collector
rlg-tower   = "0.0.11"  # HTTP middleware
rlg-redact  = "0.0.11"  # PII redaction

[dev-dependencies]
rlg-test    = "0.0.11"  # assertions in your tests

CLI binaries:

cargo install rlg-cli       # the `rlg` binary
cargo install rlg-mcp       # the `rlg-mcp` MCP server
cargo install rlg-report    # the `rlg-report` digest tool

Workspace layout

.
├── Cargo.toml            # workspace manifest (profiles, members)
├── README.md             # ← you are here
├── CHANGELOG.md / CONTRIBUTING.md / SECURITY.md
├── LICENSE-{APACHE,MIT}
├── crates/
│   ├── rlg/              # core library
│   ├── rlg-cli/          # `rlg` binary + filter/render lib
│   ├── rlg-mcp/          # MCP server
│   ├── rlg-otlp/         # OTLP/HTTP exporter
│   ├── rlg-tower/        # tower::Layer
│   ├── rlg-wasm/         # wasm-bindgen + WASI 0.2 component
│   ├── rlg-redact/       # PII / secret scrubber (Aho-Corasick)
│   ├── rlg-test/         # test utilities
│   ├── rlg-report/       # log digest binary + lib
│   ├── rlg-ebpf/         # Enricher trait + eBPF (Linux) scaffold
│   └── xtask/            # internal automation (publish = false)
└── .github/
    └── workflows/
        ├── ci.yml        # delegates to sebastienrousseau/pipelines
        └── release.yml   # workspace-aware crates.io publisher

Quick links

  • Core docs: crates/rlg/README.md · docs.rs/rlg
  • Contributing & signing policy: CONTRIBUTING.md
  • Security policy: SECURITY.md
  • Release notes: CHANGELOG.md

License

Dual-licensed under Apache 2.0 or MIT, at your option.

MCP Server · Populars

MCP Server · New

    ROCTUP

    1C Metacode MCP Server

    MCP сервер с встроенным AI агентом для поиска по графу метаданных и кода конфигураций 1С

    Community ROCTUP
    nhevers

    r0x-os

    Official SDK, Claude Code plugin and facilitator docs for r0x, the x402 facilitator for Robinhood Chain.

    Community nhevers
    scarletkc

    Vexor

    A semantic search engine for files and code.

    Community scarletkc
    marmutapp

    SuperBased Observer

    Local-first cost & token tracking for Claude Code, Cursor, Codex & 23 more AI coding agents — proxy-accurate per-model spend, an MCP server your agent can query, and an opt-in team rollup. 100% local, no telemetry.

    Community marmutapp
    Intuition-Lab

    Persome

    Local-first macOS Runtime that turns cross-app activity into an inspectable personal model for MCP agents.

    Community Intuition-Lab