Android studio 如何在Android Studio中过滤logcat?

Android studio 如何在Android Studio中过滤logcat?,android-studio,logcat,Android Studio,Logcat,在我的logcat中有太多的输出,所以我想使用一些关键字对其进行过滤,基本上只显示包含关键字的输出。在Android Studio中有没有通过UI实现这一点的方法?有两种方法,都在IDE底部的Android选项卡中(其中显示logcat输出) 首先,您可以简单地在顶部的搜索框中键入内容,它应该只过滤包含您键入的文本的消息 其次,您可以通过单击右上角的下拉列表来执行高级过滤,默认情况下,下拉列表应显示无过滤器,然后选择编辑过滤器配置并指定要过滤的内容。使用此方法还可以保存过滤器,并通过在下拉列表中

在我的logcat中有太多的输出,所以我想使用一些关键字对其进行过滤,基本上只显示包含关键字的输出。在Android Studio中有没有通过UI实现这一点的方法?

有两种方法,都在IDE底部的Android选项卡中(其中显示logcat输出)

首先,您可以简单地在顶部的搜索框中键入内容,它应该只过滤包含您键入的文本的消息

其次,您可以通过单击右上角的下拉列表来执行高级过滤,默认情况下,下拉列表应显示无过滤器,然后选择
编辑过滤器配置
并指定要过滤的内容。使用此方法还可以保存过滤器,并通过在下拉列表中选择它们来重新使用它们

屏幕截图:

正如@free3dom所说,您可以选择接收日志猫的流程。 这是截图


首先在代码中声明标记名,例如

private static final String TAG = "MainTagName";
然后在想要输出内容的地方添加日志语句

Log.d(TAG, "Activity created");
根据第二篇文章中的free3dom,在logcat选项卡上单击过滤器下拉列表,然后编辑过滤器配置

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


我制作了一个视频教程,向您展示如何=

给你的日志起个名字。我叫我的“哇哇”

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

然后输入您给日志的名称。在我的例子中,它叫“wawa”。下面是一些您可以使用的过滤器类型的示例。您可以按System.out、System.err、日志或包名称进行筛选:


我所做的是右键单击我不喜欢的行,然后选择“像这样折叠行”

一个对我有效的替代方法是选择过滤器菜单中的
仅显示选定的应用程序
选项:


我不知道另一个答案中的图像是旧的还是我遗漏了什么,但这里有一个更新的图像

单击底部的Android监视器选项卡,确保选中了logcat选项卡。然后输入想要过滤输出的内容。我用我的标签名
tag
过滤了我的


只需补充我自己的错误:


确保在使用模拟器和真实设备时,在logcat选项卡上方左侧的下拉列表中切换到正在调试的设备。

我无法打开logcat中的过滤器。要查看Android Studio 3.2中的过滤器,您必须再次打开和关闭“浮动模式”,以使过滤器重新出现

看到这个了吗

只需在“LogTag”的字符串下方插入一个LogCat过滤器,它将忽略系统行

^(?!.*(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))


可能重复“否”,我在问如何按关键字过滤消息。从android studio 0.4.5版开始,您将只从正在运行的应用程序中获取消息
Log cat有一个新选项(默认情况下为开),该选项自动创建一个应用程序过滤器,以便只显示启动的应用程序的输出
感谢您的回答。我已经尝试了第一个,但是它没有过滤掉不相关的输出。Re:第二个选项,不幸的是我看不到下拉菜单,你使用的是什么版本?我使用的是v0.3.5。。。在答案中添加了一个截图。我只是在截图时注意到了这一点,还有另一种过滤方法。左侧(选项卡右侧)是一个带有绿色箭头的图标-可以通过打开/关闭该图标来仅显示列表中所选流程的logcat:)谢谢,我的版本(0.3.2)中没有这些过滤器。没问题!我想它是在v0.3.3/4中添加的。Android Studio的每一个版本都在进步:)谢谢你添加这个。很高兴在这里为大家提供了它,我只是在评论中提到过:)图形也不错;-)从android studio 0.4.5版开始,u将只从正在运行的应用程序中获取消息
Log cat有一个新选项(默认情况下为开),该选项自动创建应用程序筛选器,以便仅显示已启动应用程序的输出
+1。再次按下“仅显示所选进程的日志”按钮,当我从筛选器配置为特定程序包应用筛选器时,我遇到另一个问题,logcat变为空白。当使用|分隔两个标记(Android Studio 1.2)@someonewhere确保标记的名称与Log语句中的第一个参数匹配时,我没有得到任何logcat输出。确保标记名和管道之间没有空格,例如tag1 | tag2。通过调试代码,确保您实际上正在使用tag命令。在logcat窗口的log level下拉列表中,检查您的日志级别是否设置为Debug或Verbose。我尝试了各种组合。我的失败是因为我的过滤器带有空格和|像“Tag1 | Tag2”。找到了这个答案,删除了空格,效果非常好。谢谢哇,太棒了!!但愿我早点知道!这应该是答案。只有这个解决了我的洪水由genymotion在Android Studio logcat上,谢谢。惊讶我从来没有注意到这一点。好发现!好的,明白了:-D(只需双击带有文本“n internal calls”的绿色条目)是否有一个正则表达式来否定这一点,以便隐藏包含一行的日志?我不知道。如果你想使用regex,我认为最好的方法是将adb引入Android操作系统,并在Bash终端上使用Grep。。。。添加要隐藏的标记,例如(?!TAG_NAME)。如果您想对标记使用正则表达式,例如,您想隐藏所有以“asd”开头的标记,那么您可以将(?(^asd))添加到标记的“列表”中。“Firebase”选项何时出现?今天我第一次看到它(花了一段时间想知道为什么我的应用程序不再登录)
^(?!.*(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))