Android Logcat 命令行工具

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

目录

  • 一、导读
  • 二、概览
  • 三、日常用法
    • 3.1 面板介绍
    • 3.2 日志过滤
      • 3.2.1 否定和正则表达式
      • 3.2.2 逻辑运算符和圆括号
    • 3.3 将日志保存到文件
  • 四、 推荐阅读

在这里插入图片描述

一、导读

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

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

二、概览

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

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

三、日常用法

3.1 面板介绍

Android Logcat 命令行工具_第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

你可能感兴趣的:(Android学习之路,android,面试,java,logcat)