adb logcat日志分析

1、adb logcat
      1)此命令用于输出手机或模块器开机以及用户对手机/模拟器进行操作后生成的系统日志,最后显示的日志为用户最近操作记录的日志。

      2)logcat输出的日志类似为
             
                备注:(一)日志格式为:等级(I)/标签(Activity)
                                   即<priority>/<tag>
                          (二)日志的等由小到大为:
                                                          V--明细(view)
                                                          D--调式(debug)   
                                                          I--信息(information)
                                                          W--警告(warm)
                                                          E--错误(error) 
                                                          F--严重错误(fail)
                                                          S--无记载(最高级别,没有什么被                                                                                                                                                      记载)     

     3)如果想要减少输出的内容,可以在adb logcat后面加上过滤表达式来限制系统只出来目标日志。可用多个表达一起限制。

     4)过滤表达式的格式为:tag:prority (因为同一个tag可以有不同的优先级)

           如:adb logcat ActivityManager:I MyApp:D *:S  

                   备注1:仅用于输出标记为“ActivityManager”且优先级大于等于"I"和标记为“MyApp”,优先级大于等于"Debug"的日志。

                   备注2:*:S是用于设置ActivityManager:I MyApp:D输出的日志再次过滤 ,标记这些日志的优先级为S(即只输入ActivityManager:I MyApp:D日志,其他的不输出)

                    备注3:一般都会在过滤后加上*:S以输出符合指令的日志


     5)adb logcat *:W  // "*"是指所有的tag, "*:W"是指输出所有的优先级为W以上的所有tag日志信息


     6)adb logcat是用在pc端以打印logcat;adb shell logcat是用于连上手机或模拟器后,远程获取模拟器的系统日志。两者打印出来的日志是一样的。

   7)控制日志的输出格式:
          日志消息在标记和优先之外还有很多其他字段,这些字体可以通过修改输出格式来控制输出结果,adb logcat -v +下面的字段就可以输出相应的日志格式。

          brief: 
                   (按默认方式显示日志)
          process:  
               (priority<process 号> 日志信息)
     
          tag:
               (priority/tag: 日志信息)

          thread:  
                    (priority<线程名称>日志信息)

          raw:
               (只显示日志信息)

          time: 
               (时间 priority/tag<process号>:日志信息)
          

          long:
               (时间 priority/tag<process号>:日志信息),但它是隔一行输出日志

       

备注:Start是指启动了service,但没有启动过Activity.START+Displayed是指用户启动过的Activity

     Viewing Alternative Log Buffers

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

     adb logcat [-b <buffer>]
     radio:
          查看包含在无线/电话相关的缓冲区消息

     events:
          查看事件相关的消息

     main:
           查看主缓冲区(默认缓冲区)


9)adb logcat -d(dump) -f(filename) + 手机路径:
       
            把系统日志输出到手机或模拟器里的文件里保存




















猜你喜欢

转载自ilovejoe.iteye.com/blog/2098210