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

    n24q02m

    Better Code Review Graph

    Knowledge graph for token-efficient code reviews -- semantic search and call-graph resolution across your codebase.

    Community n24q02m
    Noveum

    Orbit

    Free, open source, realtime task manager. Issues, boards, sprints, projects and docs that sync instantly. Keyboard-first, self-hostable, with an MCP server for AI agents. No pricing, ever.

    Community Noveum
    feder-cr

    aihawk

    Anti detect browser and web browsing agent: an open-source MCP server for undetected browsing, AI web scraping and computer use agents. No captchas.

    Community feder-cr
    LeandroPG19

    MemoryIndustry

    Persistent memory MCP server for AI agents — Rust, 19 tools, knowledge graph, Hebbian learning, episodic memory, contradiction detection, prospective triggers, Bayesian calibration, zero-config Docker setup.

    Community LeandroPG19
    btsouth

    Toolport

    Local-first MCP gateway. One port for every tool and every AI client: lazy discovery (~90% token savings), tool integrity + quarantine, secrets in the OS keychain.

    Community btsouth