如何通过应用程序过滤Android logcat输出?我需要这个,因为当我附加设备时,由于来自其他进程的垃圾邮件,我无法找到我想要的输出.
Dav*_*son 46
编辑:原文如下.当一个Android Studio不存在时.但是如果你想过滤整个应用程序,我会使用pidcat进行终端查看或Android Studio.使用pidcat而不是logcat,标签不需要是应用程序.你可以随叫它pidcat com.your.application
您应该使用自己的标签,请查看:http://developer.android.com/reference/android/util/Log.html
喜欢.
Log.d("AlexeysActivity","what you want to log");
Run Code Online (Sandbox Code Playgroud)
然后当你想阅读日志时使用>
adb logcat -s AlexeysActivity
Run Code Online (Sandbox Code Playgroud)
这会过滤掉所有不使用相同标签的内容.
Dom*_*ann 36
根据http://developer.android.com/tools/debugging/debugging-log.html:
下面是一个过滤器表达式的示例,该表达式禁止除标记为"ActivityManager",优先级为"Info"或更高版本的所有日志消息,以及标记为"MyApp"的所有日志消息,优先级为"Debug"或更高:
adb logcat ActivityManager:I MyApp:D *:S
上述表达式中的最后一个元素*:S将所有标记的优先级设置为"静默",从而确保仅显示带有"View"和"MyApp"的日志消息.
Sha*_*yan 28
嗨,我通过使用这个得到了解决方案:
您必须从终端执行此命令.我得到了结果,
adb logcat | grep `adb shell ps | grep com.package | cut -c10-15`
Run Code Online (Sandbox Code Playgroud)
Sha*_*had 20
我正在使用Android Studio,有一个很好的选项来使用包名来获取消息.在"编辑过滤器配置"中,您可以通过在"按包名称"上添加包名称来创建新过滤器.

Ste*_*ker 11
假设名为MyApp的应用程序包含以下组件.
要使用logcat过滤应用程序MyApp的日志记录输出,请键入以下内容.
adb logcat MyActivity1:v MyActivity2:v MyActivity3:v MyService:v *:s
Run Code Online (Sandbox Code Playgroud)
但是,这需要您知道应用程序中所有组件的TAG名称,而不是使用应用程序名称MyApp进行过滤.有关详细信息,请参阅logcat.
允许在应用程序级别进行过滤的一种解决方案是为每个独特的TAG添加前缀.
现在可以使用TAG前缀在logcat输出上执行通配符过滤器.
adb logcat | grep MyApp
Run Code Online (Sandbox Code Playgroud)
结果将是整个应用程序的输出.
Gav*_*iel 10
把它放到applog.sh
#!/bin/sh
PACKAGE=$1
APPPID=`adb -d shell ps | grep "${PACKAGE}" | cut -c10-15 | sed -e 's/ //g'`
adb -d logcat -v long \
| tr -d '\r' | sed -e '/^\[.*\]/ {N; s/\n/ /}' | grep -v '^$' \
| grep " ${APPPID}:"
Run Code Online (Sandbox Code Playgroud)
然后:
applog.sh com.example.my.package
小智 7
当我们从应用程序中收到一些错误时,Logcat会自动显示会话过滤器.我们可以自己创建会话过滤器.只需添加一个新的logcat过滤器,填写过滤器名称表单.然后使用您的应用程序包填充应用程序名称.(例如:我的应用程序是"Adukan",包是"com.adukan",所以我用应用程序包填写"com.adukan")
如果你使用Eclipse,你就可以按照shadmazumder提供的Android Studio进行过滤.
只需转到logcat,单击Display Saved Filters视图,然后添加新的logcat过滤器.它将显示如下:

然后为过滤器添加一个名称,并按应用程序名称指定应用程序的包.
在我的Windows 7笔记本电脑上,我使用'adb logcat | 找到"com.example.name"'来过滤其余的与系统程序相关的logcat输出.logcat程序的输出通过管道输入到find命令.包含'com.example.name'的每一行都输出到窗口.双引号是find命令的一部分.
要包含我的Log命令的输出,我使用包名称,这里是"com.example.name",作为我的Log命令中第一个参数的一部分,如下所示:
Log.d("com.example.name activity1", "message");
Run Code Online (Sandbox Code Playgroud)
注意:我的三星Galaxy手机比17级模拟器输出的程序相关输出要少得多.
| 归档时间: |
|
| 查看次数: |
164939 次 |
| 最近记录: |