如何在Android Studio中过滤logcat?

Ale*_*aro 91 logcat android-studio

在我的logcat中输出太多,所以我想用一些关键字过滤它,基本上只显示包含关键字的输出.有没有办法通过UI在Android Studio中执行此操作?

fre*_*dom 103

有两种方法可以做到这一点,两者都在IDE底部的Android选项卡中(显示logcat输出).

首先,您只需在顶部的搜索框中键入内容,它就应该只过滤包含您键入的文本的邮件.

其次,您可以通过单击右上角的下拉列表进行高级过滤,默认情况下应显示" 无过滤器",然后选择Edit Filter Configuration并指定要过滤的内容.使用此方法还可以保存过滤器,并可以通过在下拉列表中选择它们来重复使用它们.

截图:
搜索和过滤Logcat


Jam*_*ett 71

我所做的是右键点击我不喜欢的一行,选择"折叠这样的线"在此输入图像描述

  • 哇太棒了!! 希望我早点知道这个! (9认同)
  • 这应该是答案. (6认同)
  • 惊讶我以前从未注意到这一点.很好找! (3认同)
  • 只有这样才能通过Android Studio logcat上的genymotion解决我的洪水,谢谢. (2认同)

dmS*_*azi 53

正如@ free3dom所说,你可以选择你想要接收日志的过程.这是截图.

屏幕截图

  • 漂亮的图形;-) (37认同)
  • 谢谢你补充一下.把它放在这里适合每个人都很好,我只在评论中提到它:) (2认同)

Gen*_*ene 16

我制作了一个视频教程来展示你如何= https://youtu.be/xw2qE5ko_9I

为您的日志命名.我称我为"wawa".

在此输入图像描述

在Android Studio中,转到Android->编辑过滤器配置

在此输入图像描述

然后输入您给日志的名称.就我而言,它被称为"wawa".以下是您可以执行的过滤器类型的一些示例.您可以按System.out,System.err,Logs或包名称进行筛选:

在此输入图像描述 在此输入图像描述 在此输入图像描述

  • 是否有正则表达式否定这一点,以隐藏包含行的日志? (2认同)

Ben*_*ing 11

AndroidStudio Dolphin 引入了新的 logcat 视图模式,提供了更加结构化的 logcat 输出视图。它还引入了新的过滤选项 package:、tag: 和 level:。您还可以通过不在选项前面搜索整个条目中的文本。

过滤器示例

引用 Google 新闻帖子,其中引入了新的 logcat ( https://androidstudio.googleblog.com/2022/03/android-studio-dolphin-canary-6-now.html ) [更新] 现在可以在此处获取正确的文档https ://developer.android.com/studio/debug/logcat

具体数值:

  • 包:<我的包 ID>
  • 标签:<我的标签>
  • 级别:[详细| 信息| 断言| 调试| 警告 | 错误]

通过在键前面添加 - 来排除特定值:

  • -标签:<排除此标签>

通过在键后面放置 ~ 来使用具有给定键的正则表达式:

  • tag~:<正则表达式标签>

与排除标签结合使用:

  • -tag~:<排除此正则表达式标签>

您还可以通过单击查询字段中的过滤器图标并从下拉列表中选择它们来查看查询历史记录。要收藏某个查询,使其位于所有 Studio 项目列表的顶部,请单击查询字段末尾的星形图标。

package:mine匹配本地应用程序项目的所有 PID。


Hos*_*Bus 10

首先在代码中声明您的TAG名称,例如

private static final String TAG = "MainTagName";
Run Code Online (Sandbox Code Playgroud)

然后在要输出内容的位置添加日志语句

Log.d(TAG, "Activity created");
Run Code Online (Sandbox Code Playgroud)

根据第二篇文章中的free3dom,在logcat选项卡上单击Filters下拉列表,然后单击Edit Filter Configuration.

在此示例中,我们使用Log Tag(regex)选项使用管道显示三个匹配标记名称中的任何一个的日志消息.分隔符(不含空格):

MainTagName|SomeTagName|SomeOtherTagName
Run Code Online (Sandbox Code Playgroud)

  • 使用|时,我没有得到任何logcat输出 分隔两个标签(Android Studio 1.2) (2认同)
  • @SomeoneSomewhere确保您的TAG名称与Log语句中的第一个参数匹配.确保标记名称和管道之间没有空格,例如tag1 | tag2.确保您实际上是通过调试代码来执行标记命令.在logcat窗口的Log level下拉菜单中检查您的日志级别是否设置为Debug或Verbose. (2认同)
  • 我尝试了各种组合.我失败了因为我的过滤器有空格和| 比如"Tag1 | Tag2".找到这个答案并删除空格,它的工作完美.谢谢! (2认同)

Jos*_*ura 8

看到这个https://medium.com/zinuzoid/if-you-developing-android-application-1bdff0a96205

只需创建 LogCat 将字符串下方的插入过滤到“LogTag”,然后将忽略系统行

^(?!.*(BtGatt|dalvik|Environment|DataRouter|FA|art|Wifi|ServiceManager|Atfwd|tnet|MDnsDS|Download|Bluetooth|slim|QSEECOMAPI|WVCdm|QC-time|sensors|nanohub|Drm|Babel|Dropbox|gsamlab|Cryptd|Vold|QC_|Conscrypt|Dns|sound|NetWork|OpenGL|TLog|GMPM|Microphone|Process|Dynamite|cr_|VideoCapabilities|libEGL))
Run Code Online (Sandbox Code Playgroud)


liv*_*ove 6

我在 Logcat 中打开过滤器时遇到问题。要在 Android Studio 3.2 中查看过滤器,您必须再次打开和关闭“浮动模式”以使过滤器重新出现。

在此处输入图片说明