Android Studio:Logcat与运行视图

6

Logcat和Android-Studio中的Run有何区别?

Logcat具有过滤选项。除此之外,我不知道它们各自的特定目的是什么。

每个控制台打印哪些消息有何不同?

我该在何时使用哪个控制台?

enter image description here

2个回答

6
个人而言,Logcat 在调试和了解应用程序运行情况方面更加有用。您可以设置日志类型并为其设置标签,通过这种方式,您可以轻松过滤日志。这在记录方面给您提供了更清晰的图片。该文章中在此已经说明。
此外,在同一篇文章中还指出:
Logcat 是一个命令行工具,它会转储系统消息的日志,包括设备抛出错误时的堆栈跟踪以及您使用 Log 类从应用程序编写的消息。
优先级是以下字符值之一,按从最低到最高的顺序排序:
- V:详细信息(最低优先级) - D:调试 - I:信息 - W:警告 - E:错误 - F:致命错误 - S:静默(最高优先级,不打印任何内容)
每个等级都显示其优先级到最高优先级的日志。例如,详细信息将打印所有日志,但如果切换到错误,则 logcat 仅显示错误和致命错误日志。
此外,如果您设置了标签过滤器,它将仅显示带有该“标签”的日志,当然,同时保持优先级过滤器。例如:
Log.e("tag1","message_1");
Log.e("tag2","message_2");

假设您已经使用“tag1”过滤了标签。Logcat 将打印“message_1”。同样地,
Log.e("tag1","message_1");
Log.i("tag1","message_2");

假设您已经通过 "tag1" 进行了筛选标记并设置了错误的优先级。那么,logcat 将只显示 "message_1"。
运行工具也会显示日志、输出(println 等),但与 logcat 相比,它会显示更多的内容(日志、输出(println 等)和与手机相关的信息)。除了您自己的日志外,还会显示来自库和手机本身的其他日志。因此很难找到自己的日志。
当需要手机和库相关信息的日志时,运行将会很有用。(例如当手机丢帧/掉帧时,它将在运行中打印出来)
当您尝试理解应用程序运行时发生了什么时,Logcat 将非常有用。

非常好的答案。非常感谢。 - cluster1
更新:此答案将于2023年停用,请从以下链接查找新的logcat:https://developer.android.com/studio/debug/logcat - Oğuzhan Aslan

0
我注意到在使用AVD模拟器时,运行和logcat之间存在很大的差异。我的应用程序在使用模拟器时出现了误导性崩溃。 每次崩溃发生时,崩溃前的日志都会从logcat中消失,我无法确定是否看到与崩溃相关的日志。经过一周的尝试寻找将日志打印到文件的库,我发现所有内容都打印在运行选项卡中,所以我不需要那个库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接