Android Studio中Logcat写入和查看日志

目录
  • 使用 Logcat
  • 如何打开 Logcat?
  • Logcat 级别
  • 在 Logcat 中制作自定义级别
  • 自定义日志消息字体颜色和样式
  • 如何清除日志
  • 总结

使用 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 视图,因此您只会在清除它后看到记录的消息,但这实际上并没有从设备或模拟器中清除日志。

注意:日志对性能有影响。过多的日志记录会影响设备和应用程序的性能。至少,调试和详细日志记录应仅用于开发目的,并在应用程序发布之前删除。

总结

到此这篇关于Android Studio中Logcat写入和查看日志的文章就介绍到这了,更多相关Android Studio Logcat内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-01-08

解决Android Studio突然不显示logcat日志的问题

前言:上午写代码时还好好的,下午不知道怎么回事突然就不显示logcat日志了,觉得很奇怪,于是开始找各种解决办法! 现象如图所示,logcat无日志显示: 首先,你可以试试修改以下参数: 2.若修改上述参数依然不显示,你可以打开Device Moniter,查看logcat,步骤如下: 如果在这里有logcat日志正常显示的话,你可以设置Tool-->Android-->Enable ADB Integration为勾选状态: 若已经是勾选状态,可重启一下 AS ! 这样就能看到logcat日

Android adb logcat 命令查看日志详细介绍

Android 开发的程序员开发程序的时候,一定为log而苦恼过吧.Eclipse老是Log找不到,是不是很让人不爽,虽然Android Studio的Logcat功能很不错,但也没有在命令行terminal中打印出来更方便. 使用 logcat 命令 查看和跟踪系统日志缓冲区的命令logcat的一般用法是: [adb] logcat [<option>] ... [<filter-spec>] ... 下文介绍过滤器和命令选项,详细内容可参见Listing of logcat C

Android studio保存logcat日志到本地的操作

windows环境下 1.输出logcat日志到本地文件 adb logcat -> F:/logcat.txt 2.输出带时间的logcat日志到本地文件: adb logcat -v threadtime -> F:/logcat.txt 输入以上命令后,adb自动保存logcat日志到指令的文件,,按ctrl + c结束保存. 补充知识:Android真机调试不打印log Android开发过程中,有时候用真机调试时明明执行了log打印,但是控制台就是不输出,可能是因为手机的log打印功

在Android界面上显示和获取Logcat日志输出的方法

一.首先我们要获取Logcat中的日志 如何获取呢? 首先我们要先定义一个String[]数组,里面的代码是 //第一个是Logcat ,也就是我们想要获取的log日志 //第二个是 -s 也就是表示过滤的意思 //第三个就是 我们要过滤的类型 W表示warm ,我们也可以换成 D :debug, I:info,E:error等等 String[] running = new String[]{"logcat","-s","adb logcat *: W&

Android开发之在程序中时时获取logcat日志信息的方法(附demo源码下载)

本文实例讲述了Android开发之在程序中时时获取logcat日志信息的方法.分享给大家供大家参考,具体如下: 今天分享一个在软件开发中很实用的例子,也是这几天在通宵加班中我使用的一个小例子, 在程序中监听Log信息. 为什么说它实用?原因是Android的开发厂商各种修改之后手机和手机之间以后存在很多差异.比如说魅族M9手机 开发中如果项目中涉及到访问手机系统的地方,例如访问系统短信库,M9手机它会提示一个dialog框 让用户自己去选择 访问还是不访问.这样就给开发适配带来了巨大的麻烦.本来

Android界面上拉下拉的回弹效果实例代码

废话不多说,具体代码如下所示: public class MyScrollView extends ScrollView { private View childView; public MyScrollView(Context context) { super(context); } public MyScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public MyScrollView(Co

Android 调用系统相机拍摄获取照片的两种方法实现实例

Android 调用系统相机拍摄获取照片的两种方法实现实例 在我们Android开发中经常需要做这个一个功能,调用系统相机拍照,然后获取拍摄的照片.下面是我总结的两种方法获取拍摄之后的照片,一种是通过Bundle来获取压缩过的照片,一种是通过SD卡获取的原图. 下面是演示代码: 布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:

在Android模拟器上模拟GPS功能总是null的解决方法

我们都知道,在我们开发时需要在模拟器上模拟GPS,可在Location的时候总是null,上网查了一下,发现如下解决: 网上大侠的解决方案: 在模拟器上获取GPS信息时,使用Location loc = LocationManager.getLastKnownLocation("gps");来获取location信息,但是往往在调试中loc是null的,因为首先需要在模拟器中手动添加GPS信息,有两种手动添加方法 1.在eclipse下,windows-->open perspe

Android中TextView显示圆圈背景或设置圆角的方法

前言 在我们学习android这么久,而且使用TextView那么长时间,我们一直没有用过给TextView添加背景,或者是给TextView添加添加边框,以及怎么样设置TextView的形状.今天在写代码的时候就用到了,怎么在java代码部分设置TextView的背景,和TextView的形状及边框. 方法如下: 接下来我们来看一下,怎么在Java代码部分怎么设置TextView的背景颜色,其实很简单的就一句话. tvTemp.setBackgroundColor(Color.parseCol

Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法

先放个最终的效果图: 然后是代码: html文件: <body> <h1>TreeGrid</h1> <div> <a id="consle" href="#">consle</a> </div> <table id="test" title="Folder Browser" style="width:400px;height:

MySQL中按时间获取慢日志信息的方法

今天处理一个case: 数据库异常,连接数突增. 想着分析一下慢日志,可是一看慢日志都好几G了,而且是短日志格式,找到那个时间点相对比较难.于是写了一个脚本从慢日志按时间提取点日志.脚本: https://github.com/wubx/mysql-binlog-statistic/blob/master/bin/cutlogbytime 使用方法: 复制代码 代码如下: cutlogbytime #用于从慢日志用截取一个时间段的日志方便分析 ./cutlogbytime /path/slowl

Android实现从网络获取图片显示并保存到SD卡的方法

本文实例讲述了Android实现从网络获取图片显示并保存到SD卡的方法.分享给大家供大家参考,具体如下: 问题: 如何不断获取图片并显示出来,达到视频的效果? 代码: public class GetPictureFromInternetActivity extends Activity { private ImageView imageView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst

Android头像上传功能的实现代码(获取头像加剪切)

因为项目中需要用到头像上传的功能,所以就下个Ddmo先来实现下. demo我是类似仿微信的,在一个GridView中展示所有的图片,其中第一个item可以去照相:获取到图片后再进行剪切. 图片的剪切是从网上找的感觉不错就用,暂时也没有测试. 获取图片可以用:https://github.com/lovetuzitong/MultiImageSelector来实现 这里的圆形图像是用https://github.com/hdodenhof/CircleImageView来实现的 Demo写的比较粗