Android日志工具Log的使用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Android日志工具Log的使用

一、日志方法

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

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

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

image.png


二、快捷键

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

image.png

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

image.png


三、过滤器

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

image.png

目前有4个过滤器:


show only selected application表示只显示当前选中程序的日志。

Firebase是谷歌提供的一个分析工具,我们可以不用管它。

No Filters相当于没有过滤器,会把所有日志显示出来。

Edit Filter Configuration是自定义过滤器,比如下面的MainActivity就是我自定义的一个过滤器。

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


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

image.png

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

image.png


四、日志级别控制

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

image.png

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

image.png

当选择级别是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级别:

image.png

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

image.png


五、关键字过滤

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

image.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
25天前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
|
7天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
17天前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
49 9
|
1月前
|
数据采集 监控 数据安全/隐私保护
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
在Selenium Web数据采集时,日志管理至关重要。通过调整`–log-level`参数可优化日志详细度,如设置为`INFO`记录一般操作信息。结合代理IP、Cookie及user-agent配置,不仅能提高采集成功率,还能规避反爬机制。合理选择日志级别有助于调试与性能平衡,在复杂的数据采集任务中保持程序稳定与可控。
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
|
21天前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
30 1
|
26天前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
30天前
|
存储 监控 安全
|
29天前
|
XML Java Maven
log4j 日志的简单使用
这篇文章介绍了Log4j日志框架的基本使用方法,包括在Maven项目中添加依赖、配置`log4j.properties`文件以及在代码中创建和使用Logger对象进行日志记录,但实际打印结果中日志级别没有颜色显示。
log4j 日志的简单使用
|
1月前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
19天前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
53 0