共计 1778 个字符,预计需要花费 5 分钟才能阅读完成。
作者:韩茹
公司:程序咖(北京)科技有限公司
鸿蒙巴士专栏作家
HarmonyOS 提供了 HiLog 日志零碎,让利用能够依照指定类型、指定级别、指定格局字符串输入日志内容,帮忙开发者理解利用的运行状态,更好地调试程序。
输入日志的接口由 HiLog 类提供。在输入日志前,须要先调用 HiLog 的辅助类 HiLogLabel 定义日志标签。
一、定义日志标签
应用 HiLogLabel(int type, int domain, String tag)定义日志标签,其中包含了日志类型、业务畛域和 TAG。应用示例:
static final HiLogLabel LABEL = new HiLogLabel(HiLog.LOG_APP, 0x00201, "MY_TAG");
- 参数 type:用于指定输入日志的类型。HiLog 中以后只提供了一种日志类型,即利用日志类型 LOG_APP。
- 参数 domain:用于指定输入日志所对应的业务畛域,取值范畴为 0x0~0xFFFFF,开发者能够依据须要进行自定义。
- 参数 tag:用于指定日志标识,能够为任意字符串,倡议标识调用所在的类或者业务行为。
开发者能够依据自定义参数 domain 和 tag 来进行日志的筛选和查找。
二、输入日志
HiLog 中定义了 DEBUG、INFO、WARN、ERROR、FATAL 五种日志级别,并提供了对应的办法用于输入不同级别的日志,如下表所示。
接口名 | 性能形容 |
---|---|
debug(HiLogLabel label, String format, Object… args) | 输入 DEBUG 级别的日志。DEBUG 级别日志示意仅用于利用调试,默认不输入,输入前须要在设施的“开发人员选项”中关上“USB 调试”开关。 |
info(HiLogLabel label, String format, Object… args) | 输入 INFO 级别的日志。INFO 级别日志示意一般的信息。 |
warn(HiLogLabel label, String format, Object… args) | 输入 WARN 级别的日志。WARN 级别日志示意存在正告。 |
error(HiLogLabel label, String format, Object… args) | 输入 ERROR 级别的日志。ERROR 级别日志示意存在谬误。 |
fatal(HiLogLabel label, String format, Object… args) | 输入 FATAL 级别的日志。FATAL 级别日志示意呈现致命谬误、不可复原谬误。 |
- 参数 label:定义好的 HiLogLabel 标签。
-
参数 format:格局字符串,用于日志的格式化输入。格局字符串中能够设置多个参数,例如格局字符串为“Failed to visit %s.”,“%s”为参数类型为 string 的变参标识,具体取值在 args 中定义。
每个参数需增加隐衷标识,分为 {public} 或{private},默认为 {private}。{public} 示意日志打印后果可见;{private}示意日志打印后果不可见,输入后果为 <private>。
- 参数 args:能够为 0 个或多个参数,是格局字符串中参数类型对应的参数列表。参数的数量、类型必须与格局字符串中的标识一一对应。
以输入一条 WARN 级别的信息为例,示例代码:
HiLog.warn(LABEL, "Failed to visit %{private}s, reason:%{public}d.", url, errno);
该行代码示意输入一个日志标签为 label 的正告信息,格局字符串为:“Failed to visit %{private}s, reason:%{public}d.”。其中变参 url 的格局为公有的字符串,errno 为公共的整型数。
三、查看日志信息
DevEco Studio 提供了 HiLog 窗口查看日志信息,开发者可通过设置设施、过程、日志级别和搜寻关键词来筛选日志信息。搜寻性能反对应用正则表达式,开发者可通过搜寻自定义的业务畛域值和 TAG 来筛选日志信息。
如示例所示,依据理论状况抉择了设施和过程后,搜寻业务畛域值“00201”进行筛选,失去对应的日志信息。
- W 示意日志级别为 WARN。
- 00201/MY_TAG 为开发者在 HiLogLabel 中定义的内容。
- 日志内容中的 url 为公有参数不显示具体内容,仅显示 <private>。errno 为私有参数,显示理论取值 503。