zoukankan      html  css  js  c++  java
  • logcat调试系统

    日志存放位置:/dev/log

    shell@xxx:/ $ ls /dev/log -l
    crw-rw-rw- root     log       10,  48 2011-01-01 12:04 events
    crw-rw-rw- root     log       10,  49 2011-01-01 12:04 main
    crw-rw-rw- root     log       10,  47 2011-01-01 12:04 radio
    crw-rw-rw- root     log       10,  46 2011-01-01 12:04 system

    提示信息的格式:等级/标签 (pid):日志内容

    E/NetworkController(  934): onReceive ETHERNET_STATE_CHANGED_ACTION 

    等级

    V:Verbose
    D: Debug
    I: Info
    W: Warn
    E: Error
    F: Fatal
    S: Silent (supress all output)

    标签:用来区分不同的调试信息,必须唯一。

    logcat命令

    shell@xxx:/ $ 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)
      -t '<time>'     print most recent lines since specified time (implies -d)
      -T <count>      print only the most recent <count> lines (does not imply -d)
      -T '<time>'     print most recent lines since specified time (not imply -d)
                      count is pure numerical, time is 'MM-DD hh:mm:ss.mmm'
      -g              get the size of the log's ring buffer and exit
      -b <buffer>     Request alternate ring buffer, 'main', 'system', 'radio',
                      'events', 'crash' or 'all'. Multiple -b parameters are
                      allowed and results are interleaved. The default is
                      -b main -b system -b crash.
      -B              output the log in binary.
      -S              output statistics.
      -G <size>       set size of log ring buffer, may suffix with K or M.
      -p              print prune white and ~black list. Service is specified as
                      UID, UID/PID or /PID. Weighed for quicker pruning if prefix
                      with ~, otherwise weighed for longevity if unadorned. All
                      other pruning activity is oldest first. Special case ~!
                      represents an automatic quicker pruning for the noisiest
                      UID as determined by the current statistics.
      -P '<list> ...' set prune white and ~black list, using same format as
                      printed above. Must be quoted.
    
    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"

    用法:logcat   [选项]   [过滤规则]

    -s:过滤,输出指定标签的信息

    // 打印标签为"NetworkController"的所有日志
    shell@xxx:/ $ logcat -s "NetworkController"
    // 打印标签为"NetworkController",并且等级为 D 的日志
    shell@xxx:/ $ logcat -s "NetworkController:D"

    -f <filename>:日志输出到文件,默认到标准输出

    shell@xxx:/ # logcat -f /data/local/tmp/log.txt

    -v <format>:设置日志的打印格式,format只能取下面中的一个,brief / process / tag / thread / raw / time / threadtime / long

    brief:显示等级、标签、pid和消息,是默认格式

    process:显示等级、pid和消息

    tag:显示等级、标签和消息

    thread:显示等级、pid、线程和消息

    raw:只显示消息

    time:显示时间、等级、标签、pid和消息

    threadtime:显示时间、等级、pid、线程和消息

    long:显示时间、等级、pid、线程和消息,但消息内容在下一行显示,而且每条日志之间空一行。

    // 日志添加时间(最常用)
    shell@xxx:/ # logcat -v time

    -c:清空日志信息

    shell@xxx:/ # logcat -c

    -d:打印日志并退出,不阻塞

    shell@xxx:/ # logcat -d

    -t <count>:打印最近count行日志,不阻塞

    shell@xxx:/ # logcat -t 100

    -g:查看缓冲区大小并退出

    shell@xxx:/ # logcat -g
    main: ring buffer is 256Kb (7Kb consumed), max entry is 5120b, max payload is 4076b
    system: ring buffer is 256Kb (3Kb consumed), max entry is 5120b, max payload is 4076b
    crash: ring buffer is 256Kb (0b consumed), max entry is 5120b, max payload is 4076b

    -b <buffer>:查看指定缓冲区,允许多个 -b 参数,并且打印是交错的

    <buffer>可取:main / system / radio / event / crash / all,默认为 -b main -b system -b carsh

    shell@xxx:/ # logcat -b main -b radio

    -B:以二进制形式输出日志

    shell@xxx:/ # logcat -B

    -S:输出统计数据

    shell@xxx:/ # logcat -S

    -G <size>:设置日志环缓冲区的大小,可以使用K或M

    shell@xxx:/ # logcat -G 256Kb

     |grep:过滤日志中的字符串,与-s过滤标签不一样

    shell@xxx:/ # logcat -b main -b system -b radio -v time |grep SETUP_DATA_CALL

    >:输出日志到文件(windows系统)

    shell@xxx:/ #  logcat -b radio -v time > d:/log.txt
  • 相关阅读:
    Representation Data in OpenCascade BRep
    Render OpenCascade Geometry Surfaces in OpenSceneGraph
    Render OpenCascade Geometry Curves in OpenSceneGraph
    OpenCascade Shape Representation in OpenSceneGraph
    Geometry Surface of OpenCascade BRep
    Geometry Curve of OpenCascade BRep
    Tyvj2017清北冬令营入学测试
    Spfa算法模板
    洛谷1016 旅行家的预算
    洛谷1290 欧几里得的游戏
  • 原文地址:https://www.cnblogs.com/lialong1st/p/8583873.html
Copyright © 2011-2022 走看看