Android-android Logcat怎么让它只显示我自己的应用程序信息

发布于 2016-12-22 08:51:31 字数 50 浏览 1298 评论 5

我想在手机上调试程序,怎么筛选出我要调试的应用程序的信息,是应用程序哦,不是某一个类。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

晚风撩人 2017-07-08 16:08:27

如果使用的是 Eclipse 作为 IDE 的话,用 ADT 所提供的 logcat 显示界面可以直接做到你的需求。
在编辑的位置输入

app:your.package.name

便可以自动过滤包名为 your.package.name 的软件输出信息啦,如果在编写软件时注意了 Log.X 的使用,通过旁边的下拉菜单还可以根据日志的等级进行再一次进行的过滤。

如下图:

TODO:
1. 打开 LogCat
2. 输入需要的包名,如图上的 com.android.phone
3. 根据需要选择日志等级,当然,如果没有细致的 Log.X 输出的话,推荐使用 verbose(详细)
4. 查看过滤后的结果
5. 待解决问题后,记得将 app:com.android.phone 删除,否则过滤会持续生效

后话:如果不嫌麻烦,在左边的 Saved Filters 字样旁边有一个加号,通过它可以手动生成一个可以保存的过滤器,可涉及的过滤范围诸如:日志等级、进程ID、包名等。

祝好
斑驳敬上

瑾兮 2017-05-15 13:23:46

我有一个封装好的Log类,它具有的功能如下:

0.使用一个标签来标记当前的AP(避免设置过多的TAG来过滤显示不同Java文件下的Log)
1.支持多用户打印Log(在AP比较大,文件比较多,每人负责的模块不同时,可以使用自己的log来打印,这样看log的时候可以快速筛选出当前AP中你所设置的Log,比如只看kesen的log就可以在Eclipse的filter里面输入kesen,这样显示的就都是你的log了)
2.显示当前的线程名
3.显示当前的Java文件与打印log的行号,便于快速定位到源文件
4.显示当前是在那个方法体里面
5.最后显示你设置打印出来的信息

具体信息,请点击这里.

你也可以使用下面的Log类,相比上面的log类要简单很多,使用起来也简单很多,你只需要import的时候导入下面这个log类,对里面的TAG进行修改,然后在查看log的时候,filter出那个tag就可以,相当于两重TAG。而且可以在发布的时候选择把这些log关闭不显示,只需要把LOGV设置为false就可以了。

public class Log {
private static final boolean LOGV = true;
private static final String TAG = "Music";

public static void i(String tag, String msg) {
if (LOGV)
android.util.Log.i(TAG, tag + msg);
}

public static void d(String tag, String msg) {
if (LOGV)
android.util.Log.d(TAG, tag + msg);
}

public static void w(String tag, String msg) {
if (LOGV)
android.util.Log.w(TAG, tag + msg);
}

public static void w(String tag, String msg, Throwable tr) {
if (LOGV)
android.util.Log.w(TAG, tag + msg, tr);
}

public static void v(String tag, String msg) {
if (LOGV)
android.util.Log.v(TAG, tag + msg);
}

public static void e(String tag, String msg) {
android.util.Log.e(TAG, tag + msg);
}

public static void e(String tag, String msg, Throwable tr) {
android.util.Log.e(TAG, tag + msg, tr);
}
}

浮生未歇 2017-03-04 14:30:46

点击“device”中的核心进程,就会只显示你当前运行的程序的信息

瑾兮 2017-02-10 23:31:43

因为即使是应用程序的信息,也不一定全部都对你调试程序有帮助,所以你只需要对你自己感兴趣的信息进行选择性的打印即可。你可以使用logcat打印你所需要的信息,方法如下:

log.v(String tag,String msg); // 冗余消息
log.d(String tag,String msg); // 调试消息
log.i(String tag,String msg); // 普通消息
log.w(String tag,String msg); //警告消息
log.e(String tag,String msg); // 错误消息
//log的tag,可用如下语句来实现
private static final String tag="此处写您要设置的tag"

然后再程序中我一般用的是Log.v(tag,"想打印的信息")
这样的话,在logcat中就可以显示出自定义的TAG

在logcat视图中,点击“+”按钮(Create filter). 填上name(随意), 以及相应的“tag"就可以过滤查看了。
如程序中有这样的片段:

Button button = (Button)findViewById(R.id.button_01);
//你想查看这个button是否有空指针异常,就可以这样打印信息
Log.d("我的按钮","button = "+button);

然后在logcat视图中,点击“+”按钮(Create filter). 填上name(随意), 以及相应的tag--“我的按钮"就可以过滤查看了,按钮是否被赋值了!

甜柠檬 2017-01-14 07:40:55

如果你用命令行的话,可以在命令行中这么用:
adb logcat | grep adb shell ps | grep your.package.name | cut -c10-15

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文