当前位置:   article > 正文

Android中调试工具LogCat简析_logcat debug:d

logcat debug:d

       在代码编辑好运行过程中,难免会遇到这样或那样的错误,这就要我们对错误进行调试排查,因此就不得不对LogCat界面中显示的信息要有所了解,知道其不同颜色的含义及怎么来对程序进行逐步的排查。

     LogCat的界面如下图所示:

       上面窗口中信息可理解为:Level(上面截图由于没有调整显示条故显示为L...):日志级别,与Log.v对应;Time: 日志发生时间;PID: 进程标识;TID: ProcessStats;Aplication:应用程序;Tag: 日志标签;Text: 日志内容信息

       按级别不同可以分为以下几类:

          在LogCat的右上方的5个字母分别表示了5种不同类型的日志信息(并以不同颜色加以区分,级别越高,颜色越突出):

      1. [V]:详细(Verbose)信息,输出颜色为黑色

      2. [D]:调试(Debug)信息,输出颜色是蓝色

      3. [I]:通告(Info)信息,输出颜色为绿色

      4. [W]:警告(Warn)信息,输出颜色为橙色

      5. [E]:错误(Error)信息,输出颜色为红色,这里错误信息的级别最高,其次是警告信息,然后是通知信息和调试信息,级别最低的是详细信息。

      6.[assert],新版本加入的。

   由于6是新加入的,故没有去进行更多的了解。按级别从低到高可以排列为:V->D/I->W->E,其中V级别最低,E级别最高,所以我们可以根据级别的不同来进行过滤,以方便找到我们想要的信息(选择级别高的可以过滤掉级别低的信息)。以可以在Saved Filter中创建过滤器来过滤信息。

   

         在Android程序调试过程中,首先要引入android.util.Log包,然后使用用来记录详细信息的Log.v(tag,message)、用来记录调试信息的Log.d(tag,message)、用来记录通告信息的Log.i(tag,message)、用来记录警告信息的Log.w(tag,message)、用来记录错误信息的Log.e(tag,message).


         Log包含两个参数,类型都是String型.
         第一个参数是日志标签tag(就是在你要测试的位置需要一个常量用来标记,标记的名字就是所谓的日志标签),
         第二个参数是实际的信息内容。每当程序运行到我们设置的“日志点”时,应用程序的日志信息便被发送到LogCat中,我们就可以根据“日志点”显示的信息与预期我们在函数中设置的信息内容是否一致来判断程序是否存在错误,这样就能根据“日志点”来迅速找到错误的“出事地点”了。

 

        为了方便我们也可以将调试信息封装在一个类里面,方便在程序做完后忘记删掉调试信息而运行中打印出来,可以在类里面设置一个开关,在调试的时候打开,调试完后关闭就避免发生忘记删掉调试信息的麻烦,其代码如下:

  1. package com.sc.android.util;
  2. import android.util.Log;
  3. public class Logs {
  4. private static String tag = "TAG";//设置标记
  5. private static boolean flag = true;//设置开关,为true就打开调试,否则为关闭
  6. /**
  7. * 详细信息.黑色
  8. */
  9. public static void v(String message) {
  10. if (flag) {
  11. Log.v(tag, message);
  12. }
  13. }
  14. /**
  15. * 调试信息.蓝色
  16. */
  17. public static void d(String message) {
  18. if (flag) {
  19. Log.d(tag, message);
  20. }
  21. }
  22. /**
  23. * 通告信息.绿色
  24. */
  25. public static void i(String message) {
  26. if (flag) {
  27. Log.i(tag, message);
  28. }
  29. }
  30. /**
  31. * 警告信息.橙色
  32. */
  33. public static void w(String message) {
  34. if (flag) {
  35. Log.w(tag, message);
  36. }
  37. }
  38. /**
  39. * 错误信息.红色
  40. */
  41. public static void e(String message) {
  42. if (flag) {
  43. Log.e(tag, message);
  44. }
  45. }
  46. }


        以后用的时候就只需要Logs.对应的信息就可以了。

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/318205
推荐阅读
相关标签
  

闽ICP备14008679号