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 在 调试
每月995次下载
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