使用 Logcat
Logcat是日常开发的重要组成部分。如果您看到其中一个“强制关闭”或“已停止”对话框,您要做的第一件事就是检查与此崩溃相关的 Java 堆栈跟踪。这些被记录到一个名为 Logcat 的工具中,其目的是显示来自您设备的所有日志。它显示来自模拟器或连接的真实设备的日志。
我们可以在 Logcat 中看到以下消息:
- System.out.println
- 例外
android.util.Log
要正确记录来自应用程序的消息,您应该使用android.util.Log
该类。此类定义了熟悉的信息、警告和错误方法,您可以在 Logcat 窗格中过滤这些方法以查看您想要查看的内容。每条日志消息都有一个与之关联的标签,用于标识日志消息的来源。它通常标识发生日志调用的类或活动。
以下是一些按严重性分类的示例日志命令:
Log.v("TAG", "Verbose level message");
Log.d("TAG", "Debug level message");
Log.i("TAG", "Information level message");
Log.w("TAG", "Warning level message");
Log.e("TAG", "Error level message");
Log.wtf("TAG", "Assert level message");
最好为要记录的消息使用适当的日志级别。建议为每个类定义一个唯一的调试标签字符串,以便您可以轻松追踪日志消息的来源。您可以使用此标签过滤日志数据并仅查找您感兴趣的消息。
定义标签字符串的推荐方法:
private static final String TAG = "MyActivity";
Log.v(TAG, "Verbose level message");
...
如何打开 Logcat?
- 通过键盘快捷键
alt + 6
- 通过单击主菜单栏
View > Tool Windows > Logcat
。 - 通过单击Android Studio 底部的
Logcat工具栏按钮
。
以下 Logcat 窗格将出现在 Android Studio 的底部。
以下是上图中突出显示的一些重要选项的描述:
- 设备选择菜单
- 应用程序选择菜单
- 根据日志级别过滤消息,其中将显示您选择的级别或更高级别的消息
- 使用搜索字段根据搜索字符串过滤项目
- 当此菜单设置为 Show only selected application 时,只有在标记为 的菜单中选择的应用程序相关的消息
2
才会显示在 Logcat 面板中。选择 No Filter 将显示设备或模拟器生成的所有消息。
Logcat 级别
为了充分利用您的应用程序,Logcat 具有多个级别的日志消息,因此 Android Studio 提供了多种过滤 logcat 输出的方法。一种方法是使用 Log Level 下拉菜单,根据日志级别进行过滤,打开此下拉菜单并选择默认 Verbose 选项以外的任何内容。
- 详细:显示所有日志消息
- 调试:显示在开发过程中有用的日志消息
- Info:显示预期的日志消息以供常规使用
- 警告:显示尚未出现错误的可能问题
- 错误:显示导致错误的问题
- 断言:显示不应该发生的问题
在 Logcat 中制作自定义级别
每个 Android 日志消息都包含一个标签。您可以将这些标签与 Logcat 中定义的过滤器一起使用。要打开 Logcat 窗格,请单击右上角的“仅显示选定的应用程序”下拉菜单,然后选择“编辑过滤器配置”。这将打开一个“创建新的 Logcat 过滤器”对话框:
提供以下信息以创建新过滤器:
- 过滤器名称:给出一个唯一的名称。
- 日志标签:每条日志消息都有一个与之关联的标签,它指示消息源自的系统组件。如果您只想查看源自某个系统组件的消息,您可以在此处输入该组件的标签。它用于识别日志消息的来源。它通常标识发生日志调用的类或活动。
- 日志消息:如果您只想查看包含某些元素或字符串的消息,请在“日志消息”字段中指定它们。
- 包名称:如果您希望过滤器仅显示与某个包相关的消息,请在此处输入此包名称。
- PID:如果您只想查看引用特定进程的消息,请在此处输入该进程 ID。
自定义日志消息字体颜色和样式
从主菜单File > Settings
或按键盘快捷键打开 Android Studio 设置Ctrl + Alt + S
。在搜索字段中,输入 Logcat。Editor > Color & Fonts > Android Logcat
首选项出现:
要更改这些选项,您必须通过单击另存为按钮保存当前主题的副本并输入一些合适的名称。现在一一选择每个日志级别并应用您自己的字体和背景颜色,使日志消息螺栓或斜体等。
注意:在开始自定义之前,请取消选中该Use inherited attributes
框,否则您将无法编辑这些选项。
- 从列表中选择一个日志级别(例如 Assert)
- 如果要更改字体颜色,请选中
Foreground
并单击其颜色框以自定义字体颜色 - 要更改字体的背景颜色,请选中背景并单击其颜色框以自定义背景颜色
- 选中错误条纹标记以在消息末尾显示标记并单击其颜色框以自定义标记颜色
- 检查效果然后从下拉菜单中选择效果(例如下划线、删除线或虚线等)并单击其颜色框以自定义标记颜色。
要应用更改,请单击应用,然后单击确定。
如何清除日志
左侧工具条顶部的“垃圾桶”图标是“清除日志”工具。
单击它会清除 Logcat。它肯定会清除您的 LogCat 视图,因此您只会在清除它后看到记录的消息,但这实际上并没有从设备或模拟器中清除日志。
注意:日志对性能有影响。过多的日志记录会影响设备和应用程序的性能。至少,调试和详细日志记录应仅用于开发目的,并在应用程序发布之前删除。