Flutter中如何通过print()来登录release模式?

Dav*_*und 2 debugging logging release flutter

我的网络应用程序有一个仅在配置文件和发布版本中出现的问题(小部件未正确渲染,仅产生灰色)。我想添加一些 print() 语句来帮助找出问题所在,但 print() 不会在配置文件/发布版本中将任何内容记录到 VSCode 调试输出窗口。

有什么想法如何解决这个问题吗?

我还可以使用哪些其他技术来诊断仅发布问题?

谢谢

Cop*_*oad 5

有几种方法可以做到这一点:

  1. 使用以下命令

    flutter logs
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用logger包。

    默认实现 (DevelopmentFilter) 在调试模式下显示级别 >= Logger.level 的所有日志。在发布模式下,所有日志都会被忽略。

    为了即使在发布模式下也显示所有日志,LogFilter请像这样创建自己的日志:

    flutter logs
    
    Run Code Online (Sandbox Code Playgroud)

    用法:

    class MyFilter extends LogFilter {
      @override
      bool shouldLog(LogEvent event) {
        return true;
      }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用print声明(不确定这是否适用于网络)