在frameworks/base的源码中看到几个很奇怪的EventLogTags.logtags文件,丫竟然还能作为src参与编译,百思不得其解之下只好埋头看源码,记录如下。
system/core/logcat/event.logtags文件是说明每个tag的格式的以及部分测试用的log tag,说明如下:
1 # The entries in this file map a sparse set of log tag numbers to tag names.
2 # This is installed on the device, in /system/etc, and parsed by logcat.
3 #
4 # Tag numbers are decimal integers, from 0 to 2^31. (Let's leave the
5 # negative values alone for now.)
6 # Tag numbers是十进制的整数,取值从0到2^31
7 # Tag names are one or more ASCII letters and numbers or underscores, i.e.
8 # "[A-Z][a-z][0-9]_". Do not include spaces or punctuation (the former
9 # impacts log readability, the latter makes regex searches more annoying).
10 # Tag names由1到多个ASCII码的字母和下划线组成,为了方便在log中搜索,name中避免使用空格和标点
11 # Tag numbers and names are separated by whitespace. Blank lines and lines
12 # starting with '#' are ignored.
13 # Tag numbers和names之间用空格隔开,空白和#开头的行会被忽略
14 # Optionally, after the tag names can be put a description for the value(s)
15 # of the tag. Description are in the format
16 # (<name>|data type[|data unit])
# 根据需要,tag names后面可以加上这个tag的values来描述这个tag的打印格式。
17 # Multiple values are separated by commas.
18 # values之间用逗号隔开,每个value的格式如下
19 # The data type is a number from the following values:
20 # 1: int
21 # 2: long
22 # 3: string
23 # 4: list
24 # "data unit"表示数据格式,相当于data的单位:
25 # The data unit is a number taken from the following list:
26 # 1: Number of objects
27 # 2: Number of bytes
28 # 3: Number of milliseconds
29 # 4: Number of allocations
30 # 5: Id
31 # 6: Percent
32 # Default value for data of type int/long is 2 (bytes).
33 #
34 # TODO: generate ".java" and ".h" files with integer constants from this file.
... ...
137 # NOTE - the range 1000000-2000000 is reserved for partners and others who
138 # want to define their own log tags without conflic