日志输出
提示
您可以在 DevTools 的 Logging view 或系统控制台查看日志。本节将展示如何设置日志的相关语句。
在应用中有两种日志输出方式。第一种方式是使用 stdout 和 stderr。通常,我们使用 print() 语句或者通过引入 dart:io 并且调用 stderr 与 stdout 中的方法。如下:
content_copy
stderr.writeln('print me');
如果您一次输出太多,Android 有时可能会丢失一些日志行。可以使用 Flutter 的 foundation 包中的 debugPrint() 方法来避免这个问题。它封装了 print 方法,通过控制输出的等级,从而避免输出内容被 Android 的内核丢弃。
另一种应用日志输出的方式是使用 dart:developer 中的 log() 方法。通过这种方式,您可以在输出日志中包含更精细化的信息。如下面这个示例:
content_copy
import 'dart:developer' as developer;
void main() {
developer.log('log me', name: 'my.app.category');
developer.log('log me 1', name: 'my.other.category');
developer.log('log me 2', name: 'my.other.category');
}
您也可以在打印日志时传入应用数据。通常,在调用 log() 时也会使用命名参数 error:,您可以通过 JSON 编码想要传入的对象,并将编码后的字符串传给 error 参数。