打印语句在调试flart中的dart代码时非常有用。有人知道不从发行版的代码中删除它们的含义吗?

最佳答案

作为可能不必要的I / O,print / debugPrint语句可能会影响性能。他们还将向设备日志发送垃圾邮件。

我建议改用 package:logging 之类的东西。这样,您可以提供一个使用debugPrint的回调,但可以调整您的日志记录级别,以根据严重性轻松地启用或禁用消息(并可以在调试版本中启用其他日志记录)。
package:logging文档提供了一个示例,但对其进行了一些微调,以使调试和发行版之间的日志记录级别有所不同:

import 'package:logging' as log;

void main() {
  // Log everything in debug builds.  Log warnings (and up) in release builds.
  log.Logger.root.level = kDebugMode ? log.Level.ALL : log.Level.WARNING;
  log.Logger.root.onRecord.listen((log.LogRecord rec) {
    print('${rec.level.name}: ${rec.time}: ${rec.message}');
  });

  // ...
}

关于flutter - 轻而易举地打印报表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57912270/

10-13 07:06