name: tauri-app-logging description: "Add unified logging across Rust and frontend using the Tauri v2 logging plugin with configurable levels, filtering, and file output. Use when setting up app-wide logging, configuring log levels for dev vs release, or implementing safe diagnostics without leaking secrets." license: Complete terms in LICENSE.txt
When to use this skill
ALWAYS use this skill when the user mentions:
- Unified logging for Tauri apps (dev and release)
- Log level configuration, filtering, or file output
- Safe diagnostics without leaking sensitive data
Trigger phrases include:
- "logging", "log levels", "log plugin", "diagnostics", "log file", "debug logs"
How to use this skill
- Install the logging plugin:
cargo add tauri-plugin-log - Register the plugin with level and target configuration:
use tauri_plugin_log::{Target, TargetKind}; tauri::Builder::default() .plugin(tauri_plugin_log::Builder::new() .targets([Target::new(TargetKind::Stdout), Target::new(TargetKind::LogDir { file_name: None })]) .level(log::LevelFilter::Info) .build()) - Configure capabilities in
src-tauri/capabilities/default.json:{ "permissions": ["log:default"] } - Log from the frontend:
import { info, warn, error } from '@tauri-apps/plugin-log'; await info('App started'); await error('Something went wrong'); - Use different log levels for dev (Debug/Trace) vs release (Info/Warn) builds
- Redact sensitive data before logging (never log tokens, passwords, or PII)
Outputs
- Logging plugin setup with file and stdout targets
- Level-based filtering for dev vs release
- Redaction rules for sensitive data
References
Keywords
tauri logging, log levels, log plugin, diagnostics, log file, redaction