关于日志文件(log)的问题

android日志系统提供了记录和查看系统调试信息的功能,日志都是从各个软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来进行查看和使用

1.日志的作用:
  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障
2.缓冲区的类型:

Android 日志系统为日志消息保留了多个循环缓冲区,不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用 -b选项,查看指定的缓冲区:

java adb logcat [-b <buffer>]
buffer可以有如下选项:

  • Radio 参数可以抓取Android RIL层 ,查看log包含在通信系统的log,如蓝牙、wifi、打印.、网卡、3G、4G 命令:adb logcat -b radio
  • Events 查看事件相关的消息,比如启动应用,停止文件 事件
  • Main 查看主缓冲区、所有Java层的log(默认缓冲区)
  • System 输出系统组件的log(默认缓冲区)

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

缓冲区主要给系统组件使用,一般的应用不需要关心,应用的log都输出到main缓冲区中
默认log输出(不指定缓冲区的情况下)是输出System和Main缓冲区的log

3.线上项目出现问题时,通常需要通过日志文件进行定位

操作:使用下面3条指令可以很方便地进行日志查看

// 进入日志文件所在目录
cd 日志文件所在目录
 
// 过滤文件中带关键字的行,并且显示行号.
cat -n 日志文件名 | grep 关键字
 
// 假设问题行号为500,通常查看上下浮动100行的内容,即查看400行到600行
cat -n 日志文件名 | tail -n +400 | head -n 200
 
// 其中tail -n +400 含义是从第400行开始查看 
// head -n 200 含义是查看前200行,通过管道符与tail指令连接,就是查看文件400行到600行
4.日志消息的级别loglevel
  • 0 EMERG(紧急):会导致主机系统不可用的情况 emergencies(零,最严重!!)
  • 1 ALERT(警告):必须马上采取措施解决的问题 alert
  • 2 CRIT(严重):比较严重的情况 critical
  • 3 ERR(错误):运行出现错误 error
  • 4 WARNING(提醒):可能会影响系统功能的事件
  • 5 NOTICE(注意):不会影响系统但值得注意
  • 6 INFO(信息):一般信息 information
  • 7 DEBUG(调试):程序或系统调试信息等
  • 8 none 没有优先级,不记录任何日志消息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值