Android-android Logcat怎么让它只显示我自己的应用程序信息
我想在手机上调试程序,怎么筛选出我要调试的应用程序的信息,是应用程序哦,不是某一个类。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想在手机上调试程序,怎么筛选出我要调试的应用程序的信息,是应用程序哦,不是某一个类。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
如果使用的是 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、包名等。
祝好
斑驳敬上
我有一个封装好的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);
}
}
点击“device”中的核心进程,就会只显示你当前运行的程序的信息
因为即使是应用程序的信息,也不一定全部都对你调试程序有帮助,所以你只需要对你自己感兴趣的信息进行选择性的打印即可。你可以使用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--“我的按钮"就可以过滤查看了,按钮是否被赋值了!
如果你用命令行的话,可以在命令行中这么用:
adb logcat | grep
adb shell ps | grep your.package.name | cut -c10-15