tauri-plugin-tracing 0.3.2

Use the tracing crate in your Tauri app
Documentation
# Tauri Plugin Tracing

[![Crates.io](https://img.shields.io/crates/v/tauri-plugin-tracing.svg)](https://crates.io/crates/tauri-plugin-tracing)
[![docs.rs](https://docs.rs/tauri-plugin-tracing/badge.svg)](https://docs.rs/tauri-plugin-tracing)
[![npm](https://img.shields.io/npm/v/@fltsci/tauri-plugin-tracing.svg)](https://www.npmjs.com/package/@fltsci/tauri-plugin-tracing)
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Build Status](https://github.com/fltsci/tauri-plugin-tracing/actions/workflows/check-rust.yml/badge.svg)](https://github.com/fltsci/tauri-plugin-tracing/actions)

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

```toml
[dependencies]
tauri-plugin-tracing = "0.3"
```

```bash
npm install @fltsci/tauri-plugin-tracing
```

## Quick Start

```rust
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");
}
```

```typescript
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
```

## 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 (`flamegraph` feature)
- **CPU profiling**: sampling-based profiling with span correlation (`profiling` feature)

### Cargo Features

- `colored` - ANSI color output
- `specta` - TypeScript type generation
- `flamegraph` - Span timing visualization
- `profiling` - CPU profiling via [tauri-plugin-profiling]https://crates.io/crates/tauri-plugin-profiling

## Console Integration

```typescript
import { attachConsole, interceptConsole, takeoverConsole } from '@fltsci/tauri-plugin-tracing';

attachConsole();       // Rust logs → browser console
interceptConsole();    // JS console → Rust tracing
takeoverConsole();     // Both directions (full integration)
```

## Documentation

See [docs.rs](https://docs.rs/tauri-plugin-tracing) for the full API reference and advanced usage (custom subscribers, file logging, early initialization).

## License

MIT