Egui_tracing 0.3 โ€” a live tracing/log viewer widget for egui apps

โš“ Rust    ๐Ÿ“… 2026-04-10    ๐Ÿ‘ค surdeus    ๐Ÿ‘๏ธ 5      

surdeus

Hi all,

I wanted to share egui_tracing, a small crate that gives any egui/eframe app an embedded log viewer. You register it as a tracing_subscriber layer once at startup, then drop a Logs widget anywhere in your UI and get filtering by level, filtering by target (with glob patterns), search, and a scrollable event list โ€” both on native and wasm32.

It also bridges the log crate, so crates that haven't migrated to tracing still show up.

Minimal usage:

let collector = egui_tracing::EventCollector::default();
tracing_subscriber::registry().with(collector.clone()).init();

// ...inside your UI:
ui.add(egui_tracing::Logs::new(collector.clone()));

Live web demo: https://grievouz.github.io/egui_tracing/

Preview

github: GitHub - grievouz/egui_tracing: Integrates tracing and logging with egui for event collection/visualization ยท GitHub
crates: crates.io: Rust Package Registry

Motivation: I kept wanting a "dev console" overlay inside egui tools I was building, and the existing options were either stdout-only or tied to a specific framework. This is meant to be a small, drop-in widget you can toss into any eframe app (or a bevy_egui debug overlay) without plumbing.

Feedback, issues, and PRs very welcome โ€” especially on the filtering UX and performance with high event volume.

1 post - 1 participant

Read full topic

๐Ÿท๏ธ Rust_feed