文档章节

Android开发中调试日志的输出方法

我希冀着
 我希冀着
发布于 2016/07/22 16:35
字数 698
阅读 184
收藏 1

精选30+云产品,助力企业轻松上云!>>>

程序中输出日志, 使用 android.util.Log 类. 
该类提供了若干静态方法

Log.v(String tag, String msg); 
Log.d(String tag, String msg); 
Log.i(String tag, String msg); 
Log.w(String tag, String msg); 
Log.e(String tag, String msg);

分别对应 Verbose, Debug, Info, Warning,Error.

tag是一个标识,可以是任意字符串,通常可以使用类名+方法名, 主要是用来在查看日志时提供一个筛选条件.

如果要后查看日志 请使用

adb logcat

关于adb的更多信息请查看官方网站.

当执行 adb logcat 后会以tail方式实时显示出所有的日志信息.

这时候我们通常需要对信息进行过滤,来显示我们需要的信息, 这时候我们指定的 tag就派上了用场.

adb logcat -s MyAndroid:I

这时将只显示tag为MyAndroid,级别为I或级别高于I(Warning,Error)的日志信息.

logcat使用方法如下所示: 
logcat [options] [filterspecs]
logcat的选项包括:
  -s                    设置过滤器,例如指定 '*:s'
  -f <filename>   输出到文件,默认情况是标准输出。
  -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>     设置log的打印格式,  <format> 是下面的一种:
                         brief process tag thread raw time threadtime long

  -c                   清除所有log并退出
  -d                   得到所有log并退出 (不阻塞)
  -g                   得到环形缓冲区的大小并退出
  -b <buffer>     请求不同的环形缓冲区    ('main' (默认), 'radio', 'events')
  -B                   输出log到二进制中。

过滤器的格式是一个这样的串:
  <tag>[:priority]

其中 <tag> 表示log的component, tag (或者使用 * 表示所有) , priority 如下所示:
  V    Verbose
  D    Debug
  I    Info
  W    Warn
  E    Error
  F    Fatal
  S    Silent

导出日志:adb logcat -d -f /sdcard/log.txt

常用命令如下:

(1) 显示全部日志信息:adb logcat

(2) 显示某一TAG的日志信息:adb logcat -s TAG名称

(3) 显示某一TAG的某一级别的日志信息:adb logcat TAG名称:级别.....TAG名称:级别 *:S

  注:日志级别(V-verbose,D-debug,I-info,W-warning,E-error,F-fatal,S-silent),*:S(确保日志输出的时候是按照过滤器的说明限制)

(4) 显示某一级别以上的全部日志信息:adb logcat *:级别

(5) 以某种格式显示日志信息:adb logcat -v 格式

  注:日志格式(brief,process,tag,thread,raw,time,long)

(6) 显示缓冲区中的日志信息:adb logcat -b 缓冲区类型

  注:缓冲区类型(radio-无线缓冲区,events-事件缓冲区,main-主缓冲区,默认)

(7) 清理已经存在的日志:adb logcat -c

(8) 将日志显示在控制台后退出:adb logcat -d

(9) 将日志输出到文件:adb logcat -f 文件名

我希冀着

我希冀着

粉丝 69
博文 45
码字总数 27121
作品 0
厦门
Android工程师
私信 提问
加载中
请先登录后再评论。
学了一年的Android,还不会调试?你白学了!

本文原创首发CSDN,本文链接 https://blog.csdn.net/qq41464123/article/details/107141182,作者博客https://blog.csdn.net/qq41464123 ,转载请带上本链接,尤其是脚本之家、码神岛等平台,...

郑为中
07/06
0
0
学了一年的Android,还不会调试?你白学了!

本文原创首发CSDN,本文链接 https://blog.csdn.net/qq41464123/article/details/107141182,作者博客https://blog.csdn.net/qq41464123 ,转载请带上本链接,尤其是脚本之家、码神岛等平台,...

osc_vcgg4s9o
07/07
2
0
Windows环境下Android Studio系列5—日志调试

定制Logcat调试日志字体颜色 Logcat是Android开发调试中最常用的一个工具,Android Studio 1.2.2中默认对Logcat调试的颜色已经有所区分,但如果你想要定制自己的调试日志对应的字体颜色,以便...

一配
2015/07/15
1W
1
Android开发工具

Android SDK包含了多种开发工具和实用程序,它们可以帮助你创建,测试和调试项目。正如前面所述,ADT插件可以很方便地把大部分工具集成到Eclipse IDE中,在那里,可以通过DDMS视图访问它们,...

柳哥
2014/12/06
296
0
android调试之查看日志文件技巧

编程调试是每一个编程人员必备的编程技巧,而在编程调试中,我们最最常用也是最最有效的的调试方法之一就是输出信息,有过java编程经验的同学应该知道,在java再发的过程中,我们经常会通过在...

馨缘6009
2013/05/18
1.5K
3

没有更多内容

加载失败,请刷新页面

加载更多

你看起来很好吃

你看起来很好吃 本文分享自微信公众号 - ZackSock(ZackSock)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

ZackSock
2019/10/25
0
0
Python绘制日历图和热力图

日历热力图 实现某商店2018年10月1号至2019年3月1号期间每一天盈利额(产生5000至30000区间的随机数)的数据可视化。 要求在鼠标放置每个单元格上时显示具体日期和对应数据 import datetime ...

气象学家公众号
07/03
0
0
#乔布简历#计协纳新季福利!乔布简历20元会员卡免费送

#乔布简历#计协纳新季福利!@乔布简历 20元会员卡免费送!活动规则:1)转发本微博/说说@ 三个好友;2)搜索关注“乔布堂”微信公众号,回复“BC016@你的QQ号”;截图发给计协微信公众号:j...

若川
2014/09/22
0
0
第十一届蓝桥第一场省赛题 走方格

走方格 问题描述: 在平面上有一些二维的点阵。这些点的编号就像二维数组的编号一样。从上到下依次为第 1 至第 n 行,从左到右依次为第 1 至第 m 列,每一个点可以用行号和列号来表示。现在有...

osc_kf7nv2km
4分钟前
0
0
HTTP/2协议之Stream【原理笔记】

前言 前面三篇介绍了HPPT/2的“连接前言”、“二进制桢”、“头部压缩”。本文从“流及多路复用”、“流状态”、“流量控制”、“流优先级”、“HTTP/2扩展”介绍HTTP/2协议流相关知识。 一、...

瓜农老梁
05/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部