5

在flutter app的发布模式下,使用log方法from打印出来的控制台日志dart:developer是否可见?从发布模式的文档中我们可以读到

调试信息被剥离。调试被禁用。

我认为它会去掉所有用 method 打印的东西debugPrint,但我找不到任何关于logmethod的信息。

方法的输出也一样print?这些打印对于将读取设备日志输出的用户是否可见?Dart linter只说在生产代码中应该避免打印,我认为是因为打印输出可见性。

Flutter 文档中有关日志记录的章节说明了如何使用它们,但并未真正回答上述问题。

4

2 回答 2

2

不,developer.log在发布模式下不会在终端上显示信息。

print()肯定会以任何模式打印所有内容。

您可以检查在 USB 连接的 android 设备上,使用adb logcatadb logcat | grep flutter

请注意不要使用 打印大量信息developers.log,因为它不会像 print 实际那样截断字符串。

包:https ://pub.dev/packages/dart_log

我实际上创建了一个包来处理日志(上面提到过),它允许您定义是否在发布模式下打印日志,并定义可以打印的字符数。所有日志都链接到调用 logger 的确切行中的文件,因此您可以单击它,并轻松打开发送日志的文件 :)

于 2021-10-29T18:37:27.380 回答
-2

这样想吧。使用设置日志树的日志库。在您的应用程序的主要功能块中检测发布模式并让该日志库删除日志树,然后确保在发布模式下没有日志。

Fiber 有这样的日志树。

于 2021-03-11T16:05:11.300 回答