DBDelve
Dive deep into your data. A fast, native, multi-engine database client written in Rust. Free and open source, no telemetry.
翻訳待ち
Near-lock-free structured logging for Rust: a 65,536-slot ring buffer, formatting deferred to a background thread, 14 output formats (JSON, ECS, GELF, OTLP, logfmt…) and native os_log/journald sinks.
翻訳待ち
開発ツールRust · PythonGitHub @sebastienrousseau自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
Near-lock-free structured logging for Rust: a 65,536-slot ring buffer, formatting deferred to a background thread, 14 output formats (JSON, ECS, GELF, OTLP, logfmt…) and native os_log/journald sinks. Plus an OTLP/HTTP exporter, an MCP server for AI agents, Tower middleware, PII redaction, WebAssembly bindings and a jq-style CLI.
翻訳待ち
Loading the full README.
Read the full README ↗Getting started
cargo install for the CLIs and the MCP serverThe rlg ecosystem
rlg, rlg-cli, rlg-report, rlg-mcp, rlg-otlp, rlg-redact, rlg-tower, rlg-test, rlg-wasm, rlg-ebpfLibrary reference
docs/COMPARISON.mddocs/BENCHMARKS.mdOperational
[dependencies]
rlg = "0.0.18"
Satellites install the same way, all at the same version:
[dependencies]
rlg-otlp = "0.0.18" # ship records to an OpenTelemetry Collector
rlg-tower = "0.0.18" # per-request access logs for tower services
rlg-redact = "0.0.18" # scrub secrets and PII before they are written
[dev-dependencies]
rlg-test = "0.0.18" # assert on captured records in tests
cargo install rlg-cli # `rlg`: filter and convert log files
cargo install rlg-report # `rlg-report`: summaries by level, component and message
cargo install rlg-mcp # `rlg-mcp`: log files as tools for AI agents
From a checkout, make install builds the three binaries and installs
them with their manpages and bash, zsh and fish completions under
/usr/local (PREFIX and DESTDIR are honoured; make uninstall
reverses it). The binaries generate both themselves:
rlg --manpage > rlg.1, rlg --completions zsh > _rlg.
rlg-mcp is also published as a container image,
ghcr.io/sebastienrousseau/rlg-mcp, and listed in the MCP registry.
os_log, journald).
Everywhere else, including Windows, rlg writes to a file or stdout.use rlg::log::Log;
use rlg::log_format::LogFormat;
fn main() {
// Keep the guard for the life of the program: dropping it flushes
// pending records and stops the background thread.
let _guard = rlg::init().unwrap();
Log::info("User authenticated")
.component("auth-service")
.with("user_id", 42)
.format(LogFormat::JSON)
.fire();
}
fire() checks the level, pushes the record into a ring buffer and
returns; the flusher thread formats it as JSON and writes it to the
platform sink. This block is compiled and run by cargo test.
Ten crates at lockstep version 0.0.18, released together.
| Component | Purpose | Use case |
|---|---|---|
rlg | The engine: 65,536-slot ring buffer, background flusher, 14 formats, native sinks | Structured logging in any Rust program |
rlg-cli | The rlg binary: filter by level, component or attribute, convert between formats | my-service | rlg --min-level error --format ecs |
rlg-report | The rlg-report binary and library: counts by level and component, top messages, latency percentiles | On-call triage, daily error digests |
rlg-mcp | MCP server: four tools, one prompt, two resources over stdio, streamable HTTP or HTTP+SSE | AI agents reading production logs |
rlg-otlp | OTLP/HTTP exporter to a local OpenTelemetry Collector | Honeycomb, Datadog, Grafana through a Collector |
rlg-redact | Scrubs cards, JWTs, bearer tokens, emails, IPv4 addresses and AWS keys in one pass | GDPR and audit-trail safety |
rlg-tower | tower::Layer emitting one access-log record per request | axum, hyper and other tower services |
| Area | Capability | Status |
|---|---|---|
| Ingestion | Atomic level filter, ring-buffer push, no lock on the caller's thread | Stable |
| Formats | JSON, NDJSON, ECS, GELF, Logstash, OTLP, MCP, logfmt, CLF, CEF, ELF, W3C, Apache, Log4j XML | Stable |
| Sinks | os_log (macOS), journald (Linux), file, stdout | Stable |
| Sinks | io_uring file sink (Linux, uring feature) | Scaffold |
| Configuration | TOML load, validation, polling hot-reload (tokio feature) | Stable |
| Bridges | log facade via rlg::init(); tracing layer (tracing-layer feature) | Stable |
| Export | OTLP/HTTP to a local Collector (rlg-otlp) | Stable |
| Agents | MCP server over stdio, streamable HTTP and HTTP+SSE (rlg-mcp) | Stable |
| Enrichment | eBPF kernel context (rlg-ebpf, Linux) | Scaffold |
This is the beginning of the README. Read the rest at the original. Read the full README ↗
| Capture records in a test and assert on them |
| Libraries testing their own log output |
rlg-wasm | wasm-bindgen bindings and a WASI 0.2 component interface | Browsers, Deno, Workers, wasmtime hosts |
rlg-ebpf | Process enrichment, portable; an eBPF enricher scaffold on Linux | Host context on every record |