文档开发者中心
我的
|

公共基础

UI

DevEco Studio

华为分享

编译构建

怎么屏蔽HarmonyOS/ArkTS无用的日志

新建一个项目,啥也没添加,直接运行,log日志下面就有一大堆各种类型的(Debug/Error/Info/Warning)日志一直在输出,这些无关的日志能不能屏蔽掉?即使输出日志,也不应该一直输出呀? 并且这样输出感觉很耗电脑性能!对于开发者来说,只想开到自己输出的日志以及必要的系统日志。希望华为继续优化吧。


cke_2013.png

点赞
收藏
回复
7
分享
举报
浏览610 编辑于2024-04-10 18:53未知归属地
全部评论
最多点赞
最新发布
最早发布

个人经验:

1、理解Log的级别,EcoDev Studio的日志是有改进的,Error, Warn, Info, Debug 等不同级别的日志是用不同颜色标注,很容易区分;记一下什么级别什么颜色,总共没几个:)

2、Log窗口上方有几个下拉框可以进行初步日志过滤,过滤条件为:Log-filter.png

  * 设备: 针对有多设备连接的情况,如果就一个模拟器或真机,则自动选中;

  * 应用:针对目标设备上有多个开发应用在运行情况,可过滤系统日志和应用相关日志;你上面的贴图中就是没有过滤这一层,将系统日志和应用日志全部显示了,当然混乱了:)

  * 日志级别:可选择查看 1 中所说的不同日志级别的日志,下拉框中越上面的级别日志越多,因为上面的级别包含下面的级别的日志;如果要定位错误,选择Error,如果要看全部,选择 Verbose,其它可自行尝试;

  * 关键字符串过滤,在级别过滤框右侧,可自行设置关键字,配合HiLog中使用某些自定义关键字可只显示你自己的代码中的日志;很多文档中的示例代码用的console.xxx()对于日志查看不是很方便;华为官方的应用示例中有个封装好的Logger类比较有用,可复制到项目中再自行优化一下,其中为日志准备了日志标签项,个人常用如下,其中的tag中含有方法名及==字符串,在Log窗口中的关键字过滤框中输入==就基本过滤掉无关的多数日志。

test(n: number): string {
  let tag: string = 'test()==';
  Logger.info(tag, `-------------------- enter`);
  return result;
}

3、另外Log窗口还有搜索功能,Ctrl+F,可在显示大量日志时快速定位感兴趣的内容;

这些足够用了。

展开全部
4
1楼回复于2024-04-10 18:17 来自浙江
  • *****5388@**.com
    使用我知道,我想表达的是:1、没必要一直重复输出日志;2、我只是新建一个项目,啥也没添加,模拟器是新建的,无关的系统日志没必要输出;3、开发者更多关注的是自己输出的日志和必要的系统日志。
    2024-04-11 06:40 未知归属地
  • dGuru回复*****5388@**.com
    1、开发不同应用的人对系统日志的需求不同的,工具不能替你进行筛选;而运行中的模拟器或真机本身就是大循环套小循环保持活跃,自然就会有新日志不断产生;2、无论模拟器新建与否,只要是个系统在跑,日志就不断;有关无关你自己决定,工具只是全部提供;不想要点几下过滤就眼不见心不烦了:)3、过滤、过滤、过滤 + 个性标识日志过滤;还要啥?要不你举个合你意的IDE的日志样板给大家看看:)
    2024-04-11 12:27 来自浙江
  • *****5388@**.com回复dGuru
    我之前是做iOS开发的,用的是Xcode,日志就很干净,只输出自己的和必要的(错误或警告)信息,并且启动就可以直接看到对应的输出信息(如果有log),DevEco还需要点击切换到日志上去查看(默认的是Run的命令信息)。也可能我对这个不是太习惯,总感觉没必要一直输出信息debug/info这种级别的系统log日志,这种开发者真的关注多吗?即使需要,也应该是单独的一个模块中输出,不应和用户日志在一块显示。
    2024-04-12 09:10 未知归属地
  • 展开剩余1条回复
日志显示的设置那里,有一个精简模式,开启后不显示底层日志,只显示主动打印的
3楼回复于2024-06-01 15:45 来自上海
Log窗口上面有个Setting,你可以设置默认过滤,也可设置显示的日志级别,不用每次打开点击过滤,应该可满足你的要求:)
2楼回复于2024-04-12 09:25 来自浙江
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要提问题

了解社区公约,与您携手共创和谐专业的开发者社区。