安卓调试代码----Logcat入门

我们在开发的时候,不可能一下子就能想出解决方案,我们需要不断调试、更改代码,最终才能够得到我们想要的结果。因此代码调试功能就显得十分重要,现在,让我们来简单学习一下Logcat的使用吧。

一、什么是系统日志?


系统日志会在您调试应用时显示系统消息。这些消息包括运行在设备上的应用产生的信息。如果您要使用系统日志来调试应用,请确保您的代码在应用处于开发阶段时写入日志消息并输出有关异常的堆栈轨迹。

二、怎么显示系统日志?


如需在代码中写入日志消息,请使用 Log 类。日志消息会在您与应用交互时收集系统调试输出,从而帮助您了解执行流程。日志消息可以告诉您应用的哪个部分出现了故障。

三、如何查看系统日志?


(1)Logcat在Android Studio的下方,如图所示:

Logcat位置

(2)我们可以看到左边有很多图标:

Logcat菜单图标

从上到下排序说明:

1.Clear logcat :

点击此按钮可以清除显示的日志。

2.Scroll to the end :

点击此按钮可以跳转到日志底部并查看最新的日志消息。如果您先点击此按钮,然后点击日志中的某一行,则视图会在相应位置暂停滚动。

3-4.Up the stack trace 和 Down the stack trace :

点击相应按钮可以在日志的堆栈轨迹中进行上下导航,从而选择输出的异常中显示的后续文件名(以及在编辑器中查看相应行号)。这与您在日志中点击某个文件名时的行为相同。

5.Use soft wraps :

点击此按钮可以启用换行并防止水平滚动(尽管所有非间断字符串仍然需要进行水平滚动)。

6.Print :

点击此按钮可以输出 Logcat 消息。在显示的对话框中选择输出偏好设置后,您还可以选择将其保存为 PDF 格式。

7.Restart :

点击此按钮可以清除日志并重启 Logcat。与 Clear logcat 按钮不同,此按钮可以恢复并显示之前的日志消息,因此当 Logcat 无响应而您又不想失去日志消息时,此按钮是最有用的。

8.Logcat header :

点击此按钮可以打开 Configure Logcat Header 对话框,在该对话框中,您可以自定义各个 Logcat 消息的外观,例如是否显示日期和时间。

9.Screen capture :

点击此按钮可以截取屏幕截图。

10.Screen record :

点击此按钮可以录制设备屏幕的视频(时长不超过 3 分钟)。

11.Terminate Application:

点击此按钮可以停止在模拟器/真机上运行该应用。

12.Logcat help:

点击此按钮会跳转至Logcat帮助文档网站,需翻墙浏览。或直接访问该网站(即本文参考文档):

四、如何写入日志信息?----一个简单的例子


(1)Log类介绍:

通过 Log 类,可以创建日志消息,这些消息会显示在Logcat中。一般来说,使用以下日志方法,这些方法按照优先级从高到低(或者从最简略到最详细)的顺序列示:

Log.e(String, String)(错误,ERRROR)

Log.w(String, String)(警告,WARN)

Log.i(String, String)(信息,INFO)

Log.d(String, String)(调试,DEBUG)

Log.v(String, String)(详细,VERBOSE)

(2)标记介绍(Tag):
  • 对于每种日志方法,第一个参数都应是唯一标记,第二个参数都应是消息。系统日志消息的标记是一个简短的字符串,指示消息所源自的系统组件(例如 MainActivity)。标记可以是您认为有用的任何字符串,例如当前类的名称。

  • 一种比较好的做法是,在要用于第一个参数的类中声明 TAG 常量。

  • 例如,可以按如下方式创建一条信息日志消息:

private static final String TAG = MainActivity.class.getSimpleName();

(3)添加调试代码(Log类):

然后在代码调试部分添加如下Log类:

Log.d(TAG, “this is log.d”);

(4)导入包:

import android.util.Log;

导入包

(5)日志消息的格式:(每个 Android 日志消息都有一个与之相关联的标记和优先级)

1.系统日志消息的标记是一个简短的字符串,指示消息所源自的系统组件(例如 MainActivity)。用户定义的标记可以是您认为有用的任何字符串,例如当前类的名称(建议的标记)。可以在 Log 方法调用中定义它。

2.优先级是以下值之一:

V:详细(优先级最低)

D:调试

I:信息

W:警告

E:错误

A:断言

3.日志消息的格式为:

  • date time PID-TID/package priority/tag: message

  • (PID 代表进程标识符,TID 则为线程标识符;如果仅有一个线程,两者可以相同。)

4.例:

例1

例2

例3

至此,一个简单的代码调试例子演示结束。

五、设置日志级别


可以通过设置日志级别来控制 Logcat 中显示的消息数量。您可以显示所有消息,也可以仅显示指示最严重情况的消息。

请注意,无论日志级别设置如何,Logcat 都会继续收集所有消息。此设置仅决定 Logcat 显示什么。

在“Log level”菜单中,选择以下值之一:

  1. Verbose:显示所有日志消息(默认值)。

  2. Debug:显示仅在开发期间有用的调试日志消息,以及此列表中较低的消息级别。

  3. Info:显示常规使用情况的预期日志消息,以及此列表中较低的消息级别。

  4. Warn:显示尚不是错误的潜在问题,以及此列表中较低的消息级别。

  5. Error:显示已经引发错误的问题,以及此列表中较低的消息级别。

  6. Assert:显示开发者预计绝不会发生的问题。

例:设置级别为Info,代码中含有Log.d和Log.i,Logcat中只显示Log.i信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值