Android日志的使用技巧

Android中的日志调试技巧 通过适当地使用日志,我们可以捕获应用程序的运行状态、输出关键信息和错误消息,从而更容易地定位和解决问题。在Android中,我们可以使用Log类的不同方法来输出不同级别的日志信息。它的使用方式与前面介绍的方法相同,接受标签和严重错误信息作为参数。它的使用方式与前面介绍的方法相同,接受标签和信息作为参数。它的使用方式与Log.d()和Log.e()相似,接受标签和警告信息作为参数。如果我们需要输出更详细的信息,可以使用Log.v()方法。它的使用方式与前面介绍的方法相同,接受标签和详细信息作为参数。 阅读详情

Android系统提供了logcat工具来记录打印log,先来聊一下logcat的使用

adb logcat --help
Usage: logcat [options] [filterspecs]
options include:
  -s              Set default filter to silent.
                  Like specifying filterspec '*:s'
  -f <filename>   Log to file. Default to stdout
  -r [<kbytes>]   Rotate log every kbytes. (16 if unspecified). Requires -f
  -n <count>      Sets max number of rotated logs to <count>, default 4
  -v <format>     Sets the log print format, where <format> is one of:

                  brief process tag thread raw time threadtime long

  -c              clear (flush) the entire log and exit
  -d              dump the log and then exit (don't block)
  -t <count>      print only the most recent <count> lines (implies -d)
  -g              get the size of the log's ring buffer and exit
  -b <buffer>     Request alternate ring buffer, 'main', 'system', 'radio'
                  or 'events'. Multiple -b parameters are allowed and the
                  results are interleaved. The default is -b main -b system.
  -B              output the log in binary
  -C              colored output
filterspecs are a series of
  <tag>[:priority]

where <tag> is a log component tag (or * for all) and priority is:
  V    Verbose
  D    Debug
  I    Info
  W    Warn
  E    Error
  F    Fatal
  S    Silent (supress all output)

'*' means '*:d' and <tag> by itself means <tag>:v

If not specified on the commandline, filterspec is set from ANDROID_LOG_TAGS.
If no filterspec is found, filter defaults to '*:I'

If not specified with -v, format is set from ANDROID_PRINTF_LOG
or defaults to "brief"

比较常使用的命令有

adb logcat -f /sdcard/log.txt    将log输出到sdcard下的log.txt文件中

adb logcat -v time 输出log详细时间信息

adb logcat -v thread 输出log线程信息

adb logcat -t 50 输出最近50条log信息

adb logcat -c 清除日志缓冲区

adb logcat *:E 打印所有ERROR级别及更高级别的日志信息

adb logcat Test:I 打印所有INFO级别以及更高级别的TAG为Test的日志信息

linux系统和Mac系统下,logcat结合grep命令可以极大的提高效率

比如adb locat | grep Runtime可以过滤所有Runtime信息

windows系统下,建议结合强大的文本编辑器如notepad

在android代码中,我们通常这样调用:

    Log.i(tagname, message);
很多人,为了方便在IDE中清楚的查看log信息,使用error级别的log

    Log.e(tagname, message);
这其实是对log的一种误用,想要清楚的查看log信息,可以通过过滤tag,甚至是log本身的内容。通过提高log的级别来查看临时信息是很不科学的。这种代码放到线上容易被log误导,本来没有错误的,却打印了一堆ERROR级别的log,而且不方便追踪问题。

打印log的时候最好做一个开关,有些log调试的时候需要输出,但是发布的时候不需要输出。

Android系统本身提供了一个很好的开关

Log.isLoggable

 boolean isDebug=Log.isLoggable(TagName, Log.VERBOSE);
        if (isDebug) {
            Log.w(TagName, "log");
        }
isDebug默认是false,当执行

adb shell setprop log.tag.TagName VERBOSE 
之后,isDebug会变为true






欢迎扫描二维码,关注公众号

Android日志输出技巧解析与实例展示 通过使用Log类进行日志输出、使用格式化字符串输出日志以及使用日志级别过滤日志输出,开发者可以更加方便地进行调试和排查问题。合理利用日志输出,将有助于提高应用程序的可读性和可维护性,同时减少调试和排查问题的时间。然后,通过调用Log类的不同方法,传入TAG和相应的日志信息,即可实现日志输出。在开发过程中,应用程序的日志输出通常非常丰富,为了更方便地查看关注的日志信息,可以通过设置日志级别来过滤输出。在上述示例中,我们通过判断日志级别是否可用,只输出满足条件的日志信息。一、使用Log类进行日志输出。 阅读详情

相关推荐

开发Android手机日志应用的全攻略

在当今移动应用开发中,Android平台作为重要的市场之一,其日志系统成为开发者不可或缺的工具。Android日志系统不仅是用于调试应用程序的工具,更是性能监控、安全问题追踪、用户行为分析等方面的关键技术。本章节我们将对Android日志系统进行概览,梳理其架构和关键组件,为进一步深入学习Android日志系统打下基础。

weixin_35756690的博客 522

Android 稳定性【篇一:日志调试技能汇总】

Android开发过程中调试和日志分析是必不可少的,当前汇总分析android系统不同类型的日志抓取的原理

qq_27672101的博客 1883

Android开发日志管理与调试技巧全攻略

Logcat界面是开发者在Android Studio中接触最多的调试工具之一。它按照时间顺序显示系统、应用以及核心库产生的日志信息。界面顶部是过滤器,可以设置日志的过滤条件,包括日志的级别和标签等。界面中部是日志列表,展示了过滤后的日志条目。日志条目一般包含时间戳、日志级别、标签和消息内容。底部是日志详情区域,当选择某一条日志时,可以在此区域看到详细信息。

weixin_42576467的博客 956

定制LogCat

public class LogUtil { public static final int VERBOSE = 1; public static final int DEBUG = 2; public static final int INFO = 3; public static final int WARN = 4; public static final int

dpf1103977916的专栏 327

机器学习项目(四)疫情期间网民情绪识别 (一)

疫情期间网民情绪识别 赛题背景 2019新型冠状病毒(2019-nCoV)感染的肺炎疫情发生对人们生活生产的方方面面产生了重要影响,并引发国内舆论的广泛关注,众多网民参与疫情相关话题的讨论。为了帮助政府掌握真实社会舆论情况,科学高效地做好防控宣传和舆情引导工作,本赛题针对疫情相关话题开展网民情绪识别的任务。 数据介绍 训练集 10万条 无标记样本90万条 测试集1万条 数据集依据与“新冠肺炎”相关...

qq_33357094的博客 8970

VSCode关联VIVADO编辑Verilog

有时候接手别人的代码,或者从网上找的开源代码,每个人风格不一致,对齐缩进也不一样,阅读起来很累。有没有什么方法能快捷地格式化代码呢。下面我们利用VSCode插件来实现这个需求。Vivado是Xilinx公司提供的逻辑开发平台(之一),如果不喜欢Vivado自带的文本编辑器,可以选择第三方的文本编辑器VSCode。

小王在努力...的博客 7148

Logger 超简单的 Android 日志输出工具

如要了解功能实现,请运行app程序查看控制台日志和源代码! * 源代码 : AcmenXD/Logger * apk下载路径 : Logger.apk 依赖 AndroidStudio allprojects { repositories { ... maven { url '...

5392

PX4(CUAV v6x 飞控)+ QAV250 机架无人机组装测试教学(无人机电机转向不对,如何反转电机?)

本文介绍无人机的组装与飞控调试:1.无人机的硬件组装。2.无人机飞控软件的下载,电机、遥控器、电调的校准与调试。

weixin_74185504的博客 2889

Android日志工具类

Android日志工具类。

工具类KING的博客 706

基于SpringBoot 3 + Vue 3的全栈民宿预约管理系统设计与实现

文章将详细阐述系统的需求分析、架构设计、数据库设计、核心功能模块的实现(包括用户认证、房源管理、订单流程、支付集成等),并提供关键代码片段,最后对系统进行总结与展望。.requestMatchers("/api/admin/**").hasRole("ADMIN") // 管理员接口。.requestMatchers("/api/auth/**").permitAll() // 认证接口公开。.requestMatchers("/api/public/**").permitAll() // 公开资源。

2201_76125393的博客 272

手把手实现3D肺结节检测:基于Faster R-CNN的从CT处理、训练到部署的五步代码级实战与避坑指南

亲爱的同学,当你能完整实现“3D Faster R-CNN肺部结节检测系统”,你会发现医学影像AI的毕设课题充满挑战与成就感。我们围绕3D Faster R-CNN模型,从数据处理、模型搭建到实验验证,一步步带你打造一个能精准检测肺部结节的智能系统,让你的毕设既体现技术深度,又能为肺部疾病早期诊断贡献实用价值。是专为3D医学影像设计的目标检测模型,能在三维CT数据中自动定位、识别肺部结节——这一课题兼具“临床价值”和“技术挑战性”,是毕设的优质选择,能充分展现你的工程能力和科研敏感度。

LXY_LOVE36的博客 306

解密android日志xlog,安卓开发技巧2:自定义日志工具类XLog的实现

安卓开发技巧二:自定义日志工具类XLog的实现我们在开发过程中,打印日志是必不可少的一个调试环节,然而,直接使用系统自带的Log日志类,并不能满足我们实际项目的需求:假如我们现在在开发一款比较大的项目,用到打印日志的地方肯定特别多,等到真正上线的时候,我们是不希望日志依旧能够打印出的,原因很简单,不仅多少有些影响效率,更有可能导致信息的泄露,所以我们就需要把所有的日志打印语句全部取消掉,难道我们真...

weixin_34061587的博客 462

C#实现每日定时执行制定程序(附完整源码)

C#实现每日定时执行制定程序(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 862

安卓开发--日志工具的使用

/ 5种日志级别(优先级从低到高)Log.v("TAG", "Verbose - 最详细的日志");// VERBOSELog.d("TAG", "Debug - 调试信息");// DEBUGLog.i("TAG", "Info - 重要信息");// INFOLog.w("TAG", "Warn - 警告信息");// WARNLog.e("TAG", "Error - 错误信息");

m0_50891221的博客 433

上午题目复习ing

无线局域网,11b是常用的,2.4ghz,后来改进5ghz,有些字段可以工作在5g的字段802.11/11a/1h/11n,,,,,11b和11g还在2.4ghz工作。数据链路层 传输服务,数据链路维护,差错控制,arp ip到mac,rarp反过来,token ring,x.25,atm,ethernet,蓝牙10m,简化因特网,分散式网,快调频,短包,点对点,点多多点,2.4ghz,最高速率1mb/s。gsm:是时分多址,900m-1800m,微蜂窝是市区,微微风是室内,伞是盲点,

weixin_47120900的博客 893

RK3568 低功耗设计全解析:DVFS 策略与 PMIC 电源管理

本文深入解析RK3568处理器的低功耗优化方案。从硬件架构分析入手,阐述四核Cortex-A55的功耗特性及分层电源域设计。重点介绍DVFS动态调压调频技术,包括Linux内核配置方法及场景化策略设计。详细讲解RK809 PMIC的电源管理优化,提供外设电源域控制与休眠唤醒配置的实战案例。通过智能终端应用实例,展示待机功耗从280mA降至65mA的优化效果,并推荐功率测试工具。文章强调需要平衡性能与功耗,结合场景定制策略,并指出AI负载预测等未来优化方向,为RK3568开发者提供系统性的低功耗解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2073

Android ANR Trace日志阅读分析技巧

Trace日志是指ANR目录下的一份txt文件,Trace日志用于分析应用ANR无响应的问题,,Trace日志的三个关键组成Heap部分、垃圾回收器histograms部分、Thread部分。

chivalrous 1536

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

安卓-打印日志及日志工具类使用

一、打印日志介绍 安卓系统中提供了打印日志的方式: Log.v() ,Log.d() ,Log.i() ,Log.w() ,Log.e()  以上日志级别依次从低到高 打印日志的目的是为了方便定位问题和查看关键信息。 下面是对各种日志级别的输出介绍:  1、Log.v 的输出颜色为黑色的,输出大于或等于VERBOSE日志级别的信息  2、Log.d的输出颜色是黑色的,输出大于

淡淡的幸福的博客 6046

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android日志分析终极指南:Logcat高级过滤与远程日志监控技巧

Android日志分析是每个开发者必须掌握的核心技能,Logcat作为Android系统内置的日志工具,提供了强大的调试和问题排查能力。本文将为你详细介绍Logcat的高级过滤技巧和远程日志监控方法,帮助你快速定位和解决应用问题。 ## 🔍 Logcat基础与核心功能 Logcat是Android SDK中最重要的调试工具之一,它可以实时显示系统日志、应用日志和各种调试信息。通过ADB(An

gitblog_00368的博客 970

Android开发调试终极指南:RxTool日志工具TLog的10个高效技巧

RxTool是一个功能强大的Android开发工具库,专为简化开发流程和提高调试效率而设计。其中的TLog日志工具更是开发者不可或缺的调试利器,通过灵活的配置和丰富的功能,帮助开发者快速定位问题、优化代码。本文将分享10个实用技巧,让你轻松掌握TLog的使用精髓,提升Android应用开发调试效率。 [![Android开发调试工具](https://raw.gitcode.com/gh_mir

gitblog_01106的博客 831

10个Timber快速入门技巧:让你的Android日志记录更高效

Timber是一个轻量级的Android日志记录框架,由JakeWharton开发,提供了简单易用的API来优化Android开发中的日志记录和调试体验。作为Android开发者的必备工具,Timber能够让你的日志管理更加智能和高效。 ## 🚀 Timber是什么? Timber是一个基于Android原生Log类构建的日志框架,通过简洁的API为开发者提供更便捷的日志记录方式。它的核心设

gitblog_00708的博客 368

NPatch日志调试技巧:Android/media目录下的日志文件分析

NPatch是一款基于LSPosed开发的免rootXposed框架,为Android应用调试提供了强大支持。本文将详细介绍如何通过分析Android/media目录下的日志文件,快速定位和解决NPatch使用过程中的常见问题,让你轻松掌握日志调试的实用技巧。 [![NPatch应用图标](https://raw.gitcode.com/gh_mirrors/npa/NPatch/raw/5e9

gitblog_00482的博客 262

Android异常日志快速定位分析小技巧

​。

哆啦安全 382

android浏览日志技巧-关键字

android浏览日志技巧-关键字 android日志中常用关键字 START u0 :framework启动activity [包名]:某个包名对应的信息 [RECOVERY] : app重启 System.err: at com. : app崩溃 Application onCreated: application创建 [VIEW_LIFE_CYCLE] :生命周期 ANR:发生了ANR ...

qq_23081779的博客 981

日志查看技巧_Android开发技巧分享:AS Debug还能这么玩?

作者:Geekholtdebug 是日常开发中非常重要的技能,并不仅限于单步调试这些简单的使用,其实对于一些第三方 aar甚至系统源码,还支持运行中不阻塞再不修改这些源码的基础上打日志等非常多的技巧。而且这属于一个实用且可以长期使用的技能,付出一点时间,长期的收益是非常明显的。目录Debug断点跟踪调试是开发过程中分析代码、解决BUG的一个重要手段,很多程序员的调试水平往往停留在单步执行阶段,因为...

weixin_31787977的博客 258

Android调试之查看日志文件技巧

然而,当我们转战android时,我们发现,通过单纯的System.out我们已经没有办法在console获取信息,为了获取必要的调试信息,我们要用到android的LogCat工具。下面我们来看一下android开发中如何查看app运行日志。 AD:2013云计算架构师峰会课程资料下载 编程调试是每一个编程人员必备的编程技巧,而在编程调试中,我们最最常用也是最

wuxinliulei的专栏 2762
上一篇: Android 的String资源格式化方法
下一篇: 微信小程序
robert_chao
博客等级 码龄15年 265粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值