查看日志是开发中最重要的功能之一, OpenHarmony
日志服务为 hilogd,对应提供了一个hilog的命令行工具方便查看日志。
在命令行中输入hilog,默认打印系统中所有服务的日志。
hilog命令行使用说明
短选项 | 长选项 | 参数 | 说明 |
-h | --help | 帮助命令 | |
缺省 | 缺省 | 阻塞读日志,不退出 | |
-x | --exit | 非阻塞读日志,读完退出 | |
-g | 查询buffer的大小,配合-t指定某一类型使用,默认app和core | ||
-G | --buffer-size | <size> | 设置指定<type>日志类型缓冲区的大小,配合-t指定某一类型使用,默认app和core, 可使用B/K/M/G为单位 |
-r | 清除buffer日志,配合-t指定某一类型使用,默认app和core | ||
-p | --privacy | <on/off> | 支持系统调试时日志隐私开关控制 |
on | 打开隐私开关,显示<private> | ||
off | 关闭隐私开关,显示明文 | ||
-k | <on/off> | Kernel日志读取开关控制 | |
on | 打开读取kernel日志 | ||
off | 关闭读取kernel日志 | ||
-s | --statistics | 查询统计信息,需配合-t或-D使用 | |
-S | 清除统计信息,需配合-t或-D使用 | ||
-Q | <control-type> | 流控缺省配额开关控制 | |
pidon | 进程流控开关打开 | ||
pidoff | 进程流控开关关闭 | ||
domainon | domain流控开关打开 | ||
domainoff | domain流控开关关闭 | ||
-L | --level | <level> | 指定级别的日志,示例:-L D/I/W/E/F |
-t | --type | <type> | 指定类型的日志,示例:-t app core init |
-D | --domain | <domain> | 指定domain |
-T | --Tag | <tag> | 指定tag |
-a | --head | <n> | 只显示前<n>行日志 |
-z | --tail | <n> | 只显示后<n>行日志 |
-P | --pid | <pid> | 标识不同的pid |
-e | --regex | <expr> | 只打印日志消息与<expr>匹配的行,其中<expr>是一个正则表达式 |
-f | --filename | <filename> | 设置落盘的文件名 |
-l | --length | <length> | 设置落盘的文件大小,需要大于等于64K |
-n | --number | <number> | 设置落盘文件的个数 |
-j | --jobid | <jobid> | 设置落盘任务的ID |
-w | --write | <control> | 落盘任务控制 |
query | 落盘任务查询 | ||
start | 落盘任务开始,命令行参数为文件名、单文件大小、落盘算法、rotate文件数目. | ||
stop | 落盘任务停止 | ||
-m | --stream | <algorithm> | 落盘方式控制 |
none | 无压缩方式落盘 | ||
zlib | zlib压缩算法落盘,落盘文件为.gz | ||
zstd | zstd压缩算法落盘,落盘文件为.zst | ||
-v | --format | <format> | |
time | 显示本地时间 | ||
color | 显示不同级别显示不同颜色,参数缺省级别颜色模式处理(按黑白方式) | ||
epoch | 显示相对1970时间 | ||
monotonic | 显示相对启动时间 | ||
usec | 显示微秒精度时间 | ||
nsec | 显示纳秒精度时间 | ||
year | 显示将年份添加到显示的时间 | ||
zone | 显示将本地时区添加到显示的时间 | ||
-b | --baselevel | <loglevel> | 设置可打印日志的最低等级:D(DEBUG)/I(INFO)/W(WARN)/E(ERROR)/F(FATAL) |
详细说一下在日常使用中最多的选项:
-b
选项:用于调整日志输出的等级。例如:执行hilog -b d,输出debug级别及以上的日志; hilog -b e,输出error级别及以上日志;通常开发调试中我们会开启debug日志,部署后则开启error级别日志。
-p
选项:OpenHarmony打印日志时,对于日志里面输出的参数,默认是private,即打印日志时不会把该字段输出。这主要出于安全考虑,比如一些敏感信息,密码,ip,mac地址等,通常private打印。在调试时则显然要能看到这些信息更方便定位,所以执行hilog -p off即可以将这些敏感信息打印出来。
-r
选项: 用于暂时清空日志。
-D 和 -T
选项: 这两个选项的作用类似,都用于过滤只打印某个标签的日志。在一个系统里,可以用-D指定该系统的所有日志都有同一个标签。系统内部可能有不同的模块,则可以用-T指定每个模块不同的日志标签。