【问题标题】:Are logs drom dart:developer are visible in release mode of flutter app?日志 drom dart:developer 在 Flutter 应用的发布模式下是否可见?
【发布时间】:2021-06-05 01:00:15
【问题描述】:
在flutter app的发布模式下,使用dart:developer的log方法打印出来的控制台日志是否可见?从发布模式的docs我们可以读到
调试信息被删除。
调试已禁用。
我认为它会删除使用 debugPrint 方法打印的所有内容,但我找不到任何关于 log method 的信息。
print 方法的输出也一样?这些打印对于将读取设备日志输出的用户是否可见? Dart linter 只是说在生产代码中应该避免打印,我假设是因为打印输出可见性。
Chapter in flutter docs about logging 说明了如何使用它们,但并未真正回答上述问题。
【问题讨论】:
标签:
android
flutter
dart
logging
flutter-release
【解决方案1】:
不,developer.log 在释放模式下不会在终端上显示信息。
但print() 肯定会以任何模式打印所有内容。
您可以使用adb logcat 或adb logcat | grep flutter 在通过USB 连接的Android 设备上进行检查
请注意不要使用developers.log 打印大量信息,因为它不会像 print 那样截断字符串。
【解决方案2】:
这样想。使用设置日志树的日志库。在您的应用程序的主要功能块中检测发布模式并让该日志库删除日志树,然后确保在发布模式下没有日志。
Fiber 有这样的日志树。