如何收听颤振应用程序控制台输出?

时间:2021-02-11 16:13:09

标签: flutter dart logging

我的 Flutter 应用程序中添加了不同的库。我正在应用程序中实现一项功能,每当从任何库或错误消息将错误或消息打印到控制台时,我都想将该错误或消息字符串发送到服务器。

如何以编程方式在颤振中收听控制台,以便每当将字符串打印到控制台时,我都可以捕获它以便稍后将其发送到服务器?

1 个答案:

答案 0 :(得分:1)

我能想到的一种可能的解决方案是拦截 print() 方法,然后您可以在当前区域中调用 print() 方法时获取所有值。

截取值后,您可以将其保存到文件或其他任何您想要的文件中。我不知道这是不是最合适的方式。

  void main() {
  runZoned(() {
    // Ends up printing: "Intercepted: in zone".
    runApp(MyApp());
  }, zoneSpecification: new ZoneSpecification(
      print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
    parent.print(zone, "Intercepted: $line");
    //save to a file or do whatever you want
  }));
}