Android Studio日志工具Log的使用--建议收藏备用!

发布时间:2024年01月08日

目录

前言

一、种类

?二、日志方法

三、快捷键

四、过滤器

五、日志级别控制

六、关键字过滤

七、更多资源


前言

????????作为开发人员,在使用 Android Studio 进行应用程序的开发过程中,日志工具的使用是至关重要的。通过合理地使用日志工具,我们可以更好地了解应用程序的运行状态、及时排查问题、提高代码的可维护性和可调试性。而在 Android Studio 中,我们通常会使用 Log 工具来输出日志信息,这个工具简单易用,但在实际开发中也有不少技巧和注意事项需要我们掌握。在本文中,我们将深入探讨 Android Studio 中 Log 工具的使用方法、最佳实践以及常见的调试技巧,希望能给各位开发者带来帮助。

????????首先,让我们来认识一下 Log 工具。在 Android 中,Log 是一个用于输出调试和信息性消息的类,它主要用于在开发阶段打印输出程序的运行状态和错误信息。通过在代码中使用 Log 工具,我们可以将各种类型的日志信息输出到控制台或者日志文件中,帮助我们定位程序中的问题并进行调试。Log 工具包含了一些常用的打印方法,如 Log.v()、Log.d()、Log.i()、Log.w()、Log.e() 等,分别对应不同级别的日志信息,我们可以根据实际需要选择适合的方法进行调用。

????????在实际开发中,合理地使用 Log 工具是非常重要的。首先,我们需要在开发过程中充分利用 Log 工具输出各种类型的日志信息,以便及时地了解程序的运行状态。例如,我们可以在关键方法中添加 Log.d() 方法,输出方法的输入参数和返回值,帮助我们跟踪程序的执行流程;在遇到异常或错误时,我们可以使用 Log.e() 方法输出相应的错误信息,以便及时定位和解决问题。其次,我们需要根据程序的不同模块和功能,合理地控制日志信息的输出级别。在开发阶段,我们可以输出更多的调试信息,帮助我们深入理解程序的运行状况;而在发布版本中,我们则应该限制日志信息的输出,避免泄露程序的敏感信息,同时减少对性能的影响。最后,在使用 Log 工具时,我们应该遵循一定的命名和格式规范,以便于他人阅读和理解我们的日志信息,同时也方便我们自己后续的调试和维护工作。

????????除了以上的基本使用方法,Log 工具还有很多值得我们深入探讨的技巧和注意事项。例如,我们可以在 Android Studio 中通过过滤器和搜索功能来快速定位特定的日志信息,帮助我们更高效地排查问题;我们还可以通过自定义 Tag 来区分不同模块和功能的日志信息,方便我们对日志信息进行分类和过滤;此外,我们还可以在调试信息中添加时间戳或者线程信息,帮助我们更好地理解程序的执行过程。当然,除了 Log 工具之外,Android Studio 还提供了其他强大的调试工具,如 Profiler 和 Debugger,我们也应该充分利用这些工具来提高开发效率和代码质量。

????????综上所述,合理地使用 Log 工具是 Android 应用程序开发中的重要一环。通过充分利用 Log 工具,我们可以更好地理解程序的运行状态、及时发现问题并进行调试、提高代码的可维护性和可调试性。希望本文可以帮助各位开发者更好地使用 Android Studio 中的 Log 工具,并为日后的开发工作提供帮助和参考。

一、种类

????????Androi中的日志工具类是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高一级。

?二、日志方法

????????我们先来演示一下Log.d()的用法:它需要传入两个参数,第一个参数是tag,一般传入当前的类名就好,主要用于对打印信息进行过滤;第二个参数是msg,即想要打印信息的具体内容。

Log.d("MainActivity","Hello Debug");

????????我们运行之后来看下控制台Logcat的内容:?不仅包含了打印日志内容和tag名,还有包含程序的包名、打印时间以及应用进程的进程号。

三、快捷键

????????对于java选手来说,sout就是最喜欢的快捷键。那么对于Android选手,打印日志也有快捷键,只需要输入logd,然后按下Tab键,就会自动帮你补全一条完整的打印语句。同理,输入logi、logw等等。

????????另外,由于Log的所有打印方法都要求传入一个tag参数,每次都写一遍显然太过麻烦,这里有个小技巧,我们在onCreate()的方法外面输入logt,然后按下Tab键补全,自动生成一个TAG常量。

四、过滤器

除了快捷键以外,logcat中还可以轻松添加过滤器,可以看到目前我们所有的过滤器:

目前有4个过滤器:

  • show only selected application表示只显示当前选中程序的日志。
  • Firebase是谷歌提供的一个分析工具,我们可以不用管它。
  • No Filters相当于没有过滤器,会把所有日志显示出来。
  • Edit Filter Configuration是自定义过滤器,比如下面的MainActivity就是我自定义的一个过滤器。

我们来演示下如何自定义过滤器:

????????点击Edit Filter Configuration,会弹出一个过滤器配置界面。如何给过滤器起名为MainActivity,并且让它对MainActivity的tag进行过滤。

????????我们点击这个过滤器,发现我们的日志被筛选为先几条tag名为MainActivity的日志了。

五、日志级别控制

????????学完了过滤器,我们再来看下logcat中日志级别的控制吧。logcat主要有6个级别,在第一部分中已经介绍过了。

????????这里给大家整理了一下日志等级表:

????????当选择级别是verbose时,也就是最低等级。不管我们使用哪一个方法打印日志,这条日志一定会显示出来。如果我们选中debug,那么只有使用debug以上级别的方法打印的日志才会显示出来,以此类推。

String returnData=data.getStringExtra("data_return");
Log.v(TAG,returnData);
Log.d(TAG,returnData);
Log.i(TAG, returnData);
Log.w(TAG, returnData);

????????我们运行程序,打印以上四种级别的信息,此时选择verbose级别:

????????我们选择info等级,发现只显示info以及warn的日志:

六、关键字过滤

????????使用关键字可以进一步过滤我们想看的日志信息,而且关键字过滤支持正则表达式,有了这个特性,我们可以构建出更加丰富的过滤条件。

七、更多资源

?????????还可以关注宫纵号《编程乐学》,菜单栏有很多优质的开源项目以及更多的编程资料等你来学习。

文章来源:https://blog.csdn.net/qq_29823791/article/details/135438203
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。