Android logcat命令详解

article/2025/9/19 3:56:41

参考网址:https://www.cnblogs.com/JianXu/p/5468839.html

一、logcat命令介绍

二、logcat缓冲区

三、logcat命令参数

四、logcat格式化输出

五、logcat优先级

一、logcat命令介绍

1.android log系统

image

2.logcat介绍

logcat是android中的一个命令行工具,可以用于得到程序的log信息

log类是一个日志类,可以在代码中使用logcat打印出消息

  • 常见的日志纪录方法包括:

方法

描述

v(String,String) (vervbose)显示全部信息
d(String,String)(debug)显示调试信息
i(String,String)(information)显示一般信息
w(String,String)(waning)显示警告信息
e(String,String)(error)显示错误信息

例如:

 
  1. //开发过程中获取log

  2. Log.i("MyActivity","MyClass.getView() - get item number"+position);

  3. //adb获取log

  4. adb logcat

adb logcat输出的日志格式如下:

I/ActivityManager( 1754): Waited long enough for: ServiceRecord{2b24178c u0 com.google.android.gms/.checkin.CheckinService}

3.logcat命令格式

语法格式:

[adb] logcat [<option>] … [<filter – spec>] …

PC端使用:

adb logcat

shell模式下使用:

logcat

二、logcat缓冲区

1.缓冲区介绍

android log输出量巨大,特别是通信系统的log,因此,android把log输出到不同的缓冲区中,目前定义了四个log缓冲区:

1)Radio:输出通信系统的log

2)System:输出系统组件的log

3)Event:输出event模块的log

4)Main:所有java层的log,遗迹不属于上面3层的log

缓冲区主要给系统组件使用,一般的应用不需要关心,应用的log都输出到main缓冲区中

默认log输出(不指定缓冲区的情况下)是输出System和Main缓冲区的log

2.缓冲区模型

image

3.获取缓冲区命令

参数

描述

-b<buffer>加载一个可使用的日志缓冲区提供查看,默认值是main

4.实例

  1. adb logcat –b radio

  2. adb logcat –b system
  3. adb logcat –b events
  4. adb logcat –b main

三、logcat命令参数

1.参数说明

参数

描述

-b <buffer>加载一个可使用的日志缓冲区供查看,比如event和radio。默认值是main
-c清除缓冲区中的全部日志并退出(清除完后可以使用-g查看缓冲区)
-d将缓冲区的log转存到屏幕中然后退出
-f <filename>将log输出到指定的文件中<文件名>.默认为标准输出(stdout)
-g打印日志缓冲区的大小并退出
-n <count>设置日志的最大数目<count>,默认值是4,需要和-r选项一起使用
-r <kbytes>没<kbytes>时输出日志,默认值是16,需要和-f选项一起使用
-s设置过滤器
-v <format>设置输出格式的日志消息。默认是短暂的格式。支持的格式列表

一般长时间输出log的话建议-f,-n,-r三个参数连用,这样当一个文件日志输出满了之后可以马上在另一个中进行输出

2.实例

  1. //将缓冲区的log打印到屏幕并退出

  2. adb logcat -d

  3. //清除缓冲区log(testCase运行前可以先清除一下)

  4. adb logcat -c

  5. //打印缓冲区大小并退出

  6. adb logcat -g

  7. //输出log

  8. adb logcat -f /data/local/tmp/log.txt -n 10 -r 1

四、logcat格式化输出

1.参数说明

日志消息包含一个元数据字段,除了标签和优先级,您可以修改输出显示一个特定的元数据字段格式的消息。为此,您使用-v选项来指定一个支持的输出格式。一下为支持的格式:

格式

说明

brief显示优先级/标记和过程的PID发出的消息(默认格式)
process只显示PID
tag只显示优先级/标记
raw显示原始的日志消息,没有其他元数据字段
time调用显示日期、时间、优先级/标签和过程的PID发出消息
threadtime调用显示日期、时间、优先级、标签遗迹PID TID线程发出的消息
long显示所有元数据字段与空白行和单独的消息

当logcat开始,指定想要输出格式-v选项:

[adb] logcat [-v <format>]

adb logcat –v thread

只能指定一个输出格式-v

2.例子

image

五、logcat优先级

1.优先级语法

优先级使用字符标识,一下优先级从低到高

V –Verbose(最低优先级)

D – Debug

I – Info

W – Warning

E – Error

F – Fatal

S – Silent

为了减少不想要日志的输出,可以建立一个过滤器

过滤语法:tag:priority

 
  1. //过滤TAG为ActivityManager输出级别大于I的日志与TAG为MyApp输出级别大于D的日志

  2. adb logcat ActivityManager:I My App:D *:S

adb logcat *:W

设置过滤级别为W以上

如果用的比较多可以设置环境变量:

export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D*:S"


http://chatgpt.dhexx.cn/article/ot18Sjw2.shtml

相关文章

机器学习:EM算法

一、初识EM算法 EM算法也称期望最大化&#xff08;Expectation-Maximum,简称EM&#xff09;算法。 它是一个基础算法&#xff0c;是很多机器学习领域算法的基础&#xff0c;比如隐式马尔科夫算法&#xff08;HMM&#xff09;等等。 EM算法是一种迭代优化策略&#xff0c;由于…

什么是em?

em是一个相对大小&#xff0c;我们可以这样来设置大小&#xff0c;如&#xff1a;1em,0.5em等。 所谓相对&#xff0c;必然存在一个参照物。这里的参照物指的就是父级元素的大小&#xff0c;按照css元素的继承关系&#xff08;并非所有元素都有继承关系&#xff09;&#xff0…

em和rem单位

我们在制作web端页面时&#xff0c;基本都是使用像素px作为单位&#xff0c;但是我们知道移动端设备具有多种多样的宽度&#xff0c;而使用物理单位在不同宽度和不同分辨率的手机上会有一定差异&#xff0c;那么在某些设备可能就会出现页面不美观的问题。所以为了解决此问题&am…

em与rem

rem 相对于浏览器的根元素html的字体大小来计算&#xff0c;如果没有设置&#xff0c;大多数浏览器默认大小默认为16px 默认情况下浏览器通常有字体大小 16px&#xff0c;但这可以被用户更改为从 9px 到 72px的任何值根 html 元素将继承浏览器中设置的字体大小&#xff0c;除非…

GMM的EM算法实现

在 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut一文中我们给出了GMM算法的基本模型与似然函数,在EM算法原理中对EM算法的实现与收敛性证明进行了详细说明。本文主要针对如何用EM算法在混合高斯模型下进行聚类进行代码上的分析说明。 1. GMM模型: 每个 GMM 由…

【EM(electron migration)】

原创文章&#xff1a;EM现象出现的原因及解决办法 定义&#xff1a;金属线上允许通过的最大电流是有限的&#xff0c;过大的电流会使金属连线断裂&#xff0c;导致芯片失效&#xff0c;这种现象叫作EM现象。 过大的长期电流导致金属阳离子在正极堆积&#xff0c;形成小丘或突起…

HTML——em标签

<EM> 在W3school中HTML <em> 标签用于强调文本内容。对于所有浏览器来说&#xff0c;这意味着要把这段文字用斜体来显示。 如果只想使用斜体字来显示文本的话&#xff0c;请使用 <i> 标签。 除强调之外&#xff0c;当引入新的术语或在引用特定类型的术语或…

px、rem、em的区别与联系

一、区别&#xff1a; 1. px是固定的像素&#xff0c;一旦设置了就无法因为适应页面大小而改变。 2. em和rem相对于px更具有灵活性&#xff0c;他们是相对长度单位&#xff0c;意思是长度不是定死了的&#xff0c;更适用于响应式布局。 3.em是相对于其父元素来设置字体大小的&…

px、em、rem的区别

三者区别&#xff1a; 在css中单位长度用的最多的是px、em、rem&#xff0c;这三个的区别是&#xff1a; 一、px是固定的像素&#xff0c;一旦设置了就无法因为适应页面大小而改变。二、em和rem相对于px更具有灵活性&#xff0c;他们是相对长度单位&#xff0c;意思是长度不是…

rem和em的区别

一、 rem的特点&#xff1a; 1、rem的大小是根据html根目录下的字体大小进行计算的。 2、当我们改变根目录下的字体大小的时候&#xff0c;下面字体都改变。 3、rem不仅可以设置字体的大小&#xff0c;也可以设置元素宽、高等属性。 二、em的特点&#xff1a; 1、字体大小…

em与rem的区别

在css中px、em、rem&#xff0c;这三个的区别是&#xff1a; px是固定像素&#xff0c;一旦设置了就无法因为适应页面而改变。em是rem相对于px更具有灵活性&#xff0c;他们是相对于长度单位的变化而变化&#xff0c;更适应于响应式布局。 em相对于父元素 rem相对于根元素 e…

用通俗易懂的方式告诉你什么是EM算法

一、EM简介 EM(Expectation Mmaximization) 是一种迭代算法&#xff0c; 用于含隐变量(Latent Variable) 的概率模型参数的极大似然估计&#xff0c; 或极大后验概率估计 EM算法由两步组成&#xff0c; 求期望的E步&#xff0c;和求极大的M步。 EM算法可以看成是特殊情况下计算…

em单位的理解和使用

什么是em单位&#xff1f; em是一个相对的度量单位&#xff0c;对于浏览器来说&#xff0c;1em16px&#xff0c;16px为浏览器的默认字体大小。 为什么说它是一个相对的度量单位呢&#xff1f;下面用px和em分别做对比举例子&#xff1a; <style> #p1{color: red;font-si…

em和rem的区别

在css中&#xff0c;用的最多的就是px&#xff0c;em&#xff0c;rem三个长度单位&#xff0c;这三个单位的区别就是&#xff1a; px是固定的单位长度&#xff0c;一旦设置了就无法随页面的大小而适应改变。em是相对长度单位&#xff0c;比px更具灵活性&#xff0c;em的长度是…

一种止盈止损方式

1.核心代码 2.原理 开仓后根据开仓价格设置 4.5% 止盈平仓15% 20% 止盈平仓75% 4% 止损平仓100% 指标出场信号 平仓100% 3.PS 感觉止盈完全没必要&#xff0c;跑出来的结果只是胜率提高了&#xff0c;最终盈利结果没有提高 原文&#xff1a;一种止盈止损方式 - 苏慕白的博客…

止损的意义是什么?我们为何要止损这个操作?

止损的意义是什么&#xff1f;我们为何要止损这个操作&#xff1f;我想很多人并没有深入思考这个问题&#xff0c;我猜测绝大数人都会说为了风险控制&#xff0c;无条件执行&#xff0c;割断亏损让利润奔跑&#xff0c;这类的话&#xff0c;其实不然。 我觉得一个操作如果内心…

股票编程交易接口怎样自动设置止损?

目前随着国内二级股市已处于相对较高的水平&#xff0c;但是对于高净值的用户来说&#xff0c;在量化投资市场上使用股票编程交易接口系统上具有低波动性和自动交易的定量对冲投资模型体系&#xff0c;包括了一些高性价比、大型基金和长期投资的资产品种&#xff0c;所以大家在…

止盈止损学习笔记

止损的重要性交易所订单&#xff0c;包括限价单和市价单。上交所只有两种&#xff0c;最优五档剩余撤销&#xff0c;最优五档剩余转限价&#xff0c;深圳有本方最优&#xff0c;对手方最优&#xff0c;全额成交或撤销申报&#xff0c;最优五档剩余撤销&#xff0c;即时成交剩余…

外汇天眼:新手炒外汇止损止盈技巧有哪些?如何设置止损止盈?

在外汇交易中&#xff0c;关于止盈、止损的技巧总是频频被提及&#xff0c;然而很多朋友发现&#xff0c;即使看过了这么多道理&#xff0c;结果还是不会设置止盈止损&#xff0c;不会做交易。怎么办&#xff1f; 今天这边就将外汇交易中常见的止盈止损一些知识揉碎了、掰开了…

及时止损,及时止损,及时止损

loonggg 读完需要 5分钟 速读仅需 2 分钟 今天是日更生财日历笔记的第三天。 今天日历上主要分享了一个做短视频 MCN 机构亏掉 500 万元的案例经验。分享的经验主要是如下几点&#xff1a; 面对红海的 MCN &#xff0c;没有资源和背景&#xff0c;很难做起来&#xff1b;在三四…