由于可能不必要的 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}');
});
// ...
}
Run Code Online (Sandbox Code Playgroud)