• 《第一行代码》读书笔记(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() 方法。日志级别控制的好处就是,你可以很快地找到你所关心的那些日志。
      可以在右边的输入框里输入关键字的内容,这样只有符合关键字条件的日志才会显示出来,从而能够快速定位到任何你想查看的日志。另外还有一点需要注意,关键字过滤是支持正则表达式的,有了这个特性,我们就可以构建出更加丰富的过滤条件。


  • 相关阅读:
    JAVA代码 企业人力资源管理系统(详细带截图) 毕业设计
    传感器|基于改进贪心算法的最佳传感器位置选择(Matlab代码实现)
    jsp高校学生资助管理系统myeclipse开发mysql数据库serlvet技术BS模式java编程网页结构
    灰色预测 Python
    Java Math类
    构建工具Webpack简介
    聊聊springboot的liveness及readiness
    linux进阶-ipc信号(软中断信号)
    c进阶--指针进阶
    java基础题——二维数组的基本应用2
  • 原文地址:https://blog.csdn.net/qq_46653783/article/details/126303906