• 《第一行代码》读书笔记(2)—日志工具Log



    前言

      入职还不到一个月,真的切身感受到了日志工具在工作中的重要性。因为工作的性质是要去帮助用户解决使用产品时出现的问题,日志就成了解决问题的必须手段之一。一般的用户问题都可以通过分析日志、反编译等手段定位,从而推动工作的进度。下面来介绍一下日志工具的使用。


    日志工具

      Android中的日志工具类是 Log(android.util.Log),这个类中提供了如下5个方法来供我们打印日志。

    • Log.v()
      用于打印那些最为琐碎的、意义最小的日志信息。对应级别verbose,是Android日志里面级别最低的一种。
    • Log.d()
      用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别debug,比verbose高一级。
    • Log.i()
      用于打印一些比较重要的数据,这些数据应该是你非常想看到的、可以帮你分析用户行为数据。对应级别info,比debug高一级。
    • Log.w()
      用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应级别warn,比info高一级。
    • Log.e()
      用于打印程序中的错误信息,比如程序进入到了catch语句当中。当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别error,比warn高一级。

      一共就五个方法,当然每个方法还会有不同的重载。我们可以在代码中去体验一下。


    代码示例

      HelloWorld 很熟悉吧,学习一门新的语言总喜欢用它当敲门砖。打开HelloWorldActivity,在onCreate()方法中添加打印日志的语句,如下所示:

    public class MainActivity extends AppCompatActivity {
        String msg = "Android : ";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Log.v(msg, "onCreate execute");
            Log.d(msg, "onCreate execute");
            Log.i(msg, "onCreate execute");
            Log.w(msg, "onCreate execute");
            Log.e(msg, "onCreate execute");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

      Log.d() 方法中传入了两个参数:第一个参数是 tag,一般传入当前的类名或自定义名称,主要用于对打印信息进行过滤;第二个参数是 msg,即想要打印的具体的内容。
      现在可以重新运行一下 HelloWorld 这个项目了,点击顶部工具栏上的运行按钮,或者使用快捷键Shift + F10(Mac系统是control + R),等程序运行完毕,点击 Android Studio 底部的 Logcat,就可以看到打印信息了,如图所示。
    在这里插入图片描述


      还需要关注到的一个点是 Logcat 中的日志级别控制,主要有5个级别,分别对应前面介绍的5个方法。
    在这里插入图片描述
      当前我们选中的级别是 Verbose,也就是最低等级。这意味着不管我们使用哪一个方法打印日志,这条日志都一定会显示出来。而如果我们将级别选中为 Debug,这时只有我们使用 Debug及以上级别方法打印的日志才会显示出来,以此类推。你可以做一下试验,当你把 Logcat 中的级别选中为 Info、Warn 或者 Error 时,我们在 onCreate() 方法中打印的语句是不会显示的,因为我们打印日志时使用的是 Log.d() 方法。日志级别控制的好处就是,你可以很快地找到你所关心的那些日志。
      可以在右边的输入框里输入关键字的内容,这样只有符合关键字条件的日志才会显示出来,从而能够快速定位到任何你想查看的日志。另外还有一点需要注意,关键字过滤是支持正则表达式的,有了这个特性,我们就可以构建出更加丰富的过滤条件。


  • 相关阅读:
    MySQL的锁
    手写本地缓存实战1——各个击破,按需应对实际使用场景
    jquery中的ajax请求方式的写法 & 重要且常用参数的释义 & ajax返回值,return获取不到数据值
    20-Redis哨兵和高可用、一致性Hash和ES的简单介绍
    leetcode-每日一题-813-最大平均值和的分组(中等,dp)
    NLP——电影评论情感分析
    牛客网Day1
    CTFHUB - SSRF
    CellMarker 2.0 | 鼠标点一点就完成单细胞分析的完美工具~
    Allegro DFM Ravel Rule检查工具介绍
  • 原文地址:https://blog.csdn.net/qq_46653783/article/details/126303906