【Tauri2.0教程(九)】日志插件的使用

说明

日志可以方便程序进行调试,前端可以使用console.log的方式打印日志,后端可以使用rust的log日志库进行日志打印做一些基础的日志打印操作。

但是为了更方便的对日志进行记录等操作,可以使用tauri提供的log插件。该日志插件可以零配置对日志进行持久化,方便的将日志重定向到终端、webview 控制台、日志文件等多种方式。

本文参考自官网

安装插件

bash 复制代码
npm run tauri add log

后端配置

src-tauri/src/lib.rs文件中添加如下内容:

rust 复制代码
use tauri_plugin_log::{Target, TargetKind};

#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
    tauri::Builder::default()
        // 添加日志插件
        .plugin(tauri_plugin_log::Builder::new().build())
        // 添加日志输出的webview的target
        .target(tauri_plugin_log::Target::new(
            tauri_plugin_log::TargetKind::Webview,
        ))
         // 配置日志时间采用本地时间
        .timezone_strategy(tauri_plugin_log::TimezoneStrategy::UseLocal)
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

进行上述配置以后,log插件的功能就可以正常使用了。默认情况下日志会输出到后端控制台和以app名称为文件名的日志文件中,比如app叫weread,那么日志文件名称为weread.log。但是日志文件在调试时好像看不到,只能将应用打包安装完成以后才能看到日志文件。

配置前端日志输出并配置在webview输出日志

引入相关函数

js 复制代码
import { warn, debug, trace, info, error, attachConsole } from '@tauri-apps/plugin-log';

前端打印日志需要引入上述内容。

开启webview日志输出

scss 复制代码
attachConsole()

前端记录日志

js 复制代码
warn("来自前端的日志------")

查看日志效果

bash 复制代码
[2025-05-31][11:04:40][INFO][app_lib] progress----------ee100.00
VM158:275 [2025-05-31][11:04:40][INFO][app_lib] progress----------
VM158:275 [2025-05-31][11:04:40][INFO][webview:<anonymous>@http://localhost:5173/src/components/Panel.vue?t=1748660590318:53:11] result:true
VM158:275  [2025-05-31][11:04:40][WARN][webview:<anonymous>@http://localhost:5173/src/components/Panel.vue?t=1748660590318:54:11] 来自前端的日志------

日志如上述所示,前端日志会带有webview的字样,没有带webview的是后端日志。 经过上述配置以后,日志可以在webview控制台(即前端控制台)显示。而且不仅前端控制台,其他地方也会同步显示前端的日志,比如后端控制台,日志文件等都会有。

相关推荐
Cache技术分享4 分钟前
516. Java 方法句柄 - 转换(进阶篇·下)
前端·后端
妙码生花4 分钟前
全网 8k star 的 BuildAdmin 正式发布 Golang 版本,这次我们在CRUD赛道杀死了比赛。
前端·后端·ai编程
Zane19945 分钟前
复制算法明明要浪费一半内存,为什么新生代还偏偏用它
java·后端
写代码像蔡徐抻6 分钟前
三年了,AI为何还没有抢走程序员饭碗?
前端·后端·面试
魔兽大山哥7 分钟前
【NL2SQL 实战 08】主链路:从提问到出数,图里跑了哪些节点
后端
Zane19948 分钟前
只重写了 __eq__,为什么类突然变得不可哈希了?常用魔法方法大盘点
后端·python
程序员cxuan9 分钟前
Claude Fable 5.1 的提示词又被扒了
人工智能·后端·程序员
步行cgn12 分钟前
Spring Boot 绑定简单 Bean 详解
java·spring boot·后端
未秃头的程序猿14 分钟前
分库分表一年后,我复盘了当时最该想清楚的三件事
java·数据库·后端
岁月如歌778617 分钟前
顺序消息与幂等消费完全指南:从队列有序到接口幂等
java·后端·架构