Tauri Plugin Tracing
Integrate Rust's tracing crate with your Tauri app. Bridge logs between Rust and JavaScript with support for file rotation, custom layers, and span visualization.
Installation
[dependencies]
tauri-plugin-tracing = "0.3"
tauri-plugin-tracing = "0.3"
npm install @fltsci/tauri-plugin-tracing
Quick Start
use tauri_plugin_tracing::{Builder, LevelFilter};
fn main() {
tauri::Builder::default()
.plugin(
Builder::new()
.with_max_level(LevelFilter::DEBUG)
.with_default_subscriber()
.build(),
)
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
fn main() {
tauri::Builder::default()
.plugin(
Builder::new()
.with_max_level(LevelFilter::DEBUG)
.with_default_subscriber()
.build(),
)
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
import { info, attachConsole } from '@fltsci/tauri-plugin-tracing';
await attachConsole(); // See Rust logs in browser console
info('Hello from JS'); // Send JS logs to Rust
await attachConsole(); // See Rust logs in browser console
info('Hello from JS'); // Send JS logs to Rust
Features
- Log levels: trace, debug, info, warn, error
- Targets: stdout, stderr, webview, file (with rotation)
- Filtering: per-module log levels
- Custom layers: OpenTelemetry, Sentry, or any tracing-subscriber layer
- Span visualization: flamegraph/flamechart SVG generation (
flamegraphfeature) - CPU profiling: sampling-based profiling with span correlation (
profilingfeature)
Cargo Features
colored- ANSI color outputspecta- TypeScript type generationflamegraph- Span timing visualizationprofiling- CPU profiling via tauri-plugin-profiling
Console Integration
import { attachConsole, interceptConsole, takeoverConsole } from '@fltsci/tauri-plugin-tracing';
attachConsole(); // Rust logs - browser console
interceptConsole(); // JS console - Rust tracing
takeoverConsole(); // Both directions (full integration)
attachConsole(); // Rust logs - browser console
interceptConsole(); // JS console - Rust tracing
takeoverConsole(); // Both directions (full integration)
Documentation
See docs.rs for the full API reference and advanced usage (custom subscribers, file logging, early initialization).
License
MIT