#flutter #logging #dart #mobile

flutter_logger

用于与flutter/dart和flutter_rust_bridge一起使用Rust的日志库

7个版本 (破坏性更新)

0.6.1 2024年3月10日
0.6.0 2024年2月7日
0.5.0 2024年1月24日
0.4.0 2023年8月16日
0.1.0 2023年7月12日

#195调试

Download history 178/week @ 2024-05-04 270/week @ 2024-05-11 294/week @ 2024-05-18 179/week @ 2024-05-25 261/week @ 2024-06-01 83/week @ 2024-06-08 133/week @ 2024-06-15 261/week @ 2024-06-22 208/week @ 2024-06-29 314/week @ 2024-07-06 288/week @ 2024-07-13 391/week @ 2024-07-20 310/week @ 2024-07-27 268/week @ 2024-08-03 186/week @ 2024-08-10 181/week @ 2024-08-17

每月995次下载

MIT/Apache

28KB
626

flutter_logger

用于将日志从Rust输出到应用程序的flutter/dart和flutter_rust_bridge的log crate实现。

特性

  • panic:将Rust的panic打印到日志流。

使用方法

该库包含一个宏,用于在flutter_rust_bridge api定义中包含所有必要的代码。不带参数调用该宏会创建名为"setup_log_stream"的初始化函数,使用LeveFilter::Debug。您也可以指定函数名称和LevelFilter(或只指定一个)。由于存在冲突实现,该宏只能调用一次。

Rust


// only one of these calls can be active
flutter_logger::flutter_logger_init!(); // default
// flutter_logger::flutter_logger_init!(LeveFilter::Trace); // sepcify level
// flutter_logger::flutter_logger_init!(logger_init); // sepcify name
// flutter_logger::flutter_logger_init!(info_logger, LevelFilter::Info); // sepcify both

pub fn test(i: i32) {
    // using the 'log' crate macros
    info!("test called with: {i}")
}

Dart/Flutter

Future setupLogger() async {
    setupLogStream().listen((msg){
    // This should use a logging framework in real applications
        print("${msg.logLevel} ${msg.lbl.padRight(8)}: ${msg.msg}");
    });
}

void main(){
    await RustLib.init();
    await setupLogger();
    await test(i: 5);
}

这也适用于像Android这样的移动应用程序,其中Rust中的println()在控制台中不会显示。

依赖项

~135KB