facebook廣告





123

2016年9月17日 星期六

android的e.printStackTrace();打印的错误内容在那个地方

Android开发中,所的有输出都在logcat中 包含System.out输出和printStackTrace()输出都在Logcat中,Android开发,建议使用android提供的Log工具类来打印信息。
找到Logcat视图的方式:
  1. Eclipse,在Window
  2. Show View会出来一个对话框
  3. 点击Ok按钮时,会在控制台窗口出现LogCat视窗

android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");
2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.
3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
4、Log.w的意思为橙色,可以看作为warning警告,一般需要注意优化Android代码,同时选择它后还会输出Log.e的信息。
5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要认真的分析,查看栈的信息了。

在eclipse下,可以通过ddms来查看log。
logcat 里面怎么没有,控制台也没有。e.printStackTrace()的信息打印到哪里去
android默认的stdout和stderr全部重定向到/dev/null了。需要使用android自己的log机制:
try{
//bugtastic code here
}
catch (Exception e)
{
Log.e(TAG, "Exception: "+Log.getStackTraceString(e));
}
通过这样的形式可以很好的在logcat中显示exception


沒有留言:

張貼留言