Android Logcat 命令行工具

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Logcat 是一个命令行工具,用于转储系统消息日志,包括从您的应用使用 Log 类写入的消息。logcat还是比较简单的,我们在此只记录一下我们日常工作可能会用的比较多的一些用法。
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

在这里插入图片描述

一、导读

我们继续总结学习基础知识,温故知新。

本页介绍了命令行 logcat 工具,包括查看和过滤日志,以及讲日志写入文件。

二、概览

Logcat 是一个命令行工具,用于转储系统消息日志,包括从您的应用使用 Log 类写入的消息。

logcat还是比较简单的,我们在此只记录一下我们日常工作可能会用的比较多的一些用法。

三、日常用法

3.1 面板介绍

在这里插入图片描述

3.2 日志过滤

标签 描述 否定和正则表达式
tag: 与日志条目的 tag 字段匹配。 tag: tag~: tag=: -tag: -tag~: -tag=:
package: 与日志记录应用的软件包名称匹配。 package: package~: package=: -package: -package~: -package=:
process: 与日志记录应用的进程名称匹配。
message: 与日志条目的消息部分匹配。 message: message~: message=: -message: -message~: -message=:
level: 与指定或更高严重级别的日志匹配,例如 DEBUG。
is: is 键一种特殊匹配 is:crash is:firebase is:stacktrace
age: 如果条目时间戳是最近的,则匹配。值要指定为数字,后跟表示时间单位的字母:s 表示秒,m 表示分钟,h 表示小时,d 表示天。例如,age: 5m 只会过滤过去 5 分钟内记录的消息。

3.2.1 否定和正则表达式

否定的表示方式是在字段名称前面加上 -。例如,-tag:MyTag 匹配 tag 不包含字符串 MyTag 的日志条目。

正则表达式匹配通过在字段名称中附加 ~ 来表示。例如 tag~:My.*Tag。

否定和正则表达式修饰符可以结合使用。例如,-tag~:My.*Tag。

3.2.2 逻辑运算符和圆括号

查询语言支持由 & 和 | 以及圆括号表示的 AND 和 OR 运算符,eg:

(tag:foo | level:ERROR) & package:mine

如果未应用逻辑运算符,查询语言会自动将具有相同键的多个非否定 key-value 过滤器项视作 OR,并将其他过滤器项视作 AND。

tag:foo tag:bar package:myapp

求值结果为:

(tag:foo | tag:bar) & package:myapp


但是:
tag:foo -tag:bar package:myapp

求值结果为:

tag:foo & -tag:bar & package:myapp
  • is:crash 匹配表示应用崩溃(原生或 Java)的日志条目。
  • is:stacktrace 匹配表示任何类似 Java 堆栈轨迹的日志条目,而不管日志级别如何。

3.3 将日志保存到文件

[adb] shell logcat [<option>] ... [<filter-spec>] ...

adb logcat > 12345.txt

logcat

四、 推荐阅读

Java 专栏

[SQL 专栏]
[数据结构与算法]

[Android学习专栏]

ddd

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Android开发 Windows
【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )(一)
【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )(一)
260 0
【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )(一)
|
SQL 人工智能 Java
Android 命令行工具简介
Android SDK 中包含了开发应用所需的多个软件包。本页列出了可供使用的最重要的命令行工具(按提供这些工具的软件包整理)。
|
运维 Android开发
使用logcat让Android应用支持查看实时日志并输出至界面显示功能
使用logcat让Android应用支持查看实时日志并输出至界面显示功能
|
Android开发 开发者
【安卓开发】Android studio真机测试时Logcat无输出
【安卓开发】Android studio真机测试时Logcat无输出
161 0
【安卓开发】Android studio真机测试时Logcat无输出
|
缓存 Android开发 图形学
使用 ADB LogCat 查看在Android真机上 Unity debug.log 输出日志
在使用unity开的过程中查看输出日志是避免不了的,但是在真机上遇到卡死或者尤其是闪退的时候怎么办呢?这里给大家介绍一个简单便捷的android真机查看日志方法 参考了以下3位作者的文章: http://blog.
4452 0
|
开发工具 Android开发
【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
742 0
【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
|
API 开发工具 Android开发
【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )(二)
【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )(二)
340 0
【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )(二)
|
Android开发 开发者
【错误记录】Android Studio Logcat 报错 ( read: unexpected EOF! )
【错误记录】Android Studio Logcat 报错 ( read: unexpected EOF! )
525 0
【错误记录】Android Studio Logcat 报错 ( read: unexpected EOF! )
|
监控 Android开发
华为手机Android Studio的Logcat无任何内容输出的解决方案
华为手机Android Studio的Logcat无任何内容输出解决方案 华为手机Android Studio的Logcat无任何内容输出,原因是华为定制的操作系统EMUI出于性能的考虑,在出厂设置中,默认把Android的logcat输出给关闭了。
1267 0