打印语句在调试flart中的dart代码时非常有用。有人知道不从发行版本的代码中删除它们的含义吗?
答案 0 :(得分:0)
print
/ debugPrint
语句可能会不必要地影响I / O的性能。他们还将向设备日志发送垃圾邮件。
我建议改用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}');
});
// ...
}