如何让flutter应用打印的日志展示在应用上?
2024-06-30 本文已影响0人
jiaming_
经常开发flutter应用的朋友都知道,flutter应用内打印的日志都显示在开发工具控制台上,脱离数据线后,日志就找不到了,而且混杂其他日志分析问题较为不友好
那么能不能开发一个类似网页的日志查看工具呢,可以随着应用页面展示,在独立打包后也可以展示,肯定是可以的。
自己造轮子实现:
核心API:
itemEntry = OverlayEntry(builder: (BuildContext context) => const OverlayConsoleWidget());
if (itemEntry != null) {
Overlay.of(context).insert(itemEntry!);
}
Overlay 是一个StatefluWidget,能够在应用程序的页面顶部插入自定义的Widget,并且始终保持置顶,无视页面路由切换。
更多解释见Overlay 类 - widgets 库 - Dart API (flutter-io.cn)
用第三方轮子:
flu_console | Flutter package (pub.dev)
Getting Started
step 1: init
FluConsole.run(() {
runApp(const App());
});
//or passing in 'enableLog' parameters
FluConsole.run(() {
runApp(const App());
},enableLog: true);
step 2: show console enter button or show console Panel
FluConsole.showConsoleButton(context);
// or
Navigator.of(ctx).push(PageNavAnimBuilder(const LogPrintPanel()));
run example
cd ./example
flutter run