Flutter 在运行选项卡中禁用系统调试消息

Posted

技术标签:

【中文标题】Flutter 在运行选项卡中禁用系统调试消息【英文标题】:Flutter disable system debug messages in Run Tab 【发布时间】:2019-08-21 14:06:27 【问题描述】:

我用:

print('Pls. show this line only');

调试我由 android Studio 开发的颤振应用程序。但是,[运行选项卡]中的输出通常是这样的:

Tens/Hundreds of system debug messages
I/flutter ( 9154): Pls. show this line only
Tens/Hundreds of system debug messages

好的,有时我需要几分钟才能找到我自己的调试消息 [请。仅显示此行]。

我的问题很简单,如何在 Android Studio 的 Flutter Project 的 Run Tab 中禁用【Tens/Hundreds of system debug messages】?

同时,我正在使用:

print('***************************************************** Pls. show this line only');

作为一种解决方法。

【问题讨论】:

查看本期的答案:***.com/questions/51268169/… 谢谢,但我看不出我的问题与您提供的答案之间有任何关系。问题也不同。我的是:如何在 Android Studio 中禁用系统调试消息。您提供的一个是:How to SEARCH the Debug Console in Visual Studio Code。如您所见,“禁用”与“搜索”、“Android Studio”与“Visual Studio Code”,完全不同的 IDE 和问题。澄清一下,我的问题不是搜索,而是太多无用的系统调试消息(有时一分钟超过一千条!取决于我在 pubspec 中添加的插件)。 比如我要查看程序流程,所以在里面加了print('01'), print('02'), print('03') ......我的一些代码行。我想在“运行”选项卡中查看 01、02、03。不幸的是,颤振给了我'01',...... [一百条其他调试消息]......,'02',......[超过300条调试消息]...... '03'..... [后面可能还有数百条调试消息,由颤振、飞镖、插件等显示]。 【参考方案1】:

在 Android Studio 中......

之前

设置

文件 > 设置 > 编辑器 > 常规 > 控制台

查找部分:

Fold console lines that contain

单击可滚动列表右侧的+ 按钮

添加您希望从控制台输出中隐藏的子字符串。 例如在 Flutter 中,我会删除 D/(即字母 D + 正斜杠),它们是模拟器调试消息。

之后


【讨论】:

Android Studio 的最佳答案【参考方案2】:

我终于找到了 VS 代码的解决方法,这是不是永久性的,所以你必须在每个会话中执行一次,但它很有帮助...

vs code 中有一个隐藏的特性用于调试日志过滤,您需要做的就是过滤日志以仅包含与 Flutter 相关的日志,如下所示:

1) 专注于调试控制台(通过点击)

2) 点击ctrl + f(不会出现任何内容,但您现在处于过滤模式)

3) 键入“I/Flutter”

4) 将鼠标悬停在单词上并单击其旁边的图标使其粘住。

就是这样!

之前:

之后:

【讨论】:

谢谢。帮助我清理了可怕的调试控制台。 我在使用过滤器时无法复制特定的行。有什么解决方法吗? 我刚刚用最新的 Vs 代码 + 最新的颤振尝试过,我可以复制....你能更新并再试一次吗? + 什么是你不能复制的行?【参考方案3】:

在 Android Studio 中:

在控制台中选择要忽略的文本 右键单击它

这样折线

Android Studio Flutter Console folding

【讨论】:

【参考方案4】:

选择 IntelliJ IDE 或 Android Studio 中显示的选项

现在可以按如下方式过滤

【讨论】:

VS Code 呢? @RobertWilliams 控制台过滤器由 jetbrains ide 或 android studio 提供。 AFAIK vscode 仅提供在 Web 浏览器中的登录,可能没有过滤。 你是对的,但是我应该怎么做才能在 vs 代码中或至少在终端中获得干净的日志? @RobertWilliams github.com/microsoft/vscode/issues/50093。我不确定 VS Code 是否有可能获得添加过滤器的能力,但我认为它仍然旨在成为一个轻量级的编辑器,而不是一个具有所有功能的大型 IDE。寻找允许您在 vscode 中过滤日志的扩展。 我找不到那个选项,他们删除了吗?【参考方案5】:

android-studio 4.0 有一个设置可以让这些消息消失。 转到文件 -> 设置 -> 语言和框架 -> Flutter 取消选中“启用详细日志记录”复选框

Settings View

【讨论】:

【参考方案6】:

添加

我/颤动

在 VsCode 调试控制台过滤器的过滤器中。

【讨论】:

【参考方案7】:

我有同样的问题,在发布模式下运行构建可以消除大部分(如果不是全部)嘈杂的消息。 试试flutter run --release 而不是flutter run

我目前正在寻找更好的解决方案...

【讨论】:

以上是关于Flutter 在运行选项卡中禁用系统调试消息的主要内容,如果未能解决你的问题,请参考以下文章

logcat 信息出现在 android studio 的运行选项卡中

如果我的网页未在任何选项卡中打开,则禁用通知

怎么实现远程调试

如何在 vscode 中禁用“运行|调试”行?

无法在 android 设备上调试应用程序 - Android Studio 2.0

如何在 Xcode 调试导航选项卡中启用网络调试