惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
GbyAI
GbyAI
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
B
Blog
博客园 - 叶小钗
V
Visual Studio Blog
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
博客园 - Franky
V
V2EX
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
IT之家
IT之家
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Check Point Blog
N
Netflix TechBlog - Medium
博客园 - 【当耐特】

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
鸿蒙开发:log组件升级,应用内可查看
程序员一鸣 · 2026-03-12 · via 人人都是产品经理

前言

log组件,在23年就开源了,重点解决了控制台格式化和日志位置问题,可以说后续的大部分的日志组件,都参考了我的方案,目前,可能很多同学还在使用。

如今,我对log组件做了全新升级,在支持控制台打印的同时,增加了App应用内查看的功能,在测试验证的时候,可以直观的查看日志的输出,而不用在盯着控制台。

效果查看

启动悬浮窗之后,触发就可以弹出日志窗口,页面简洁直观,区分了日志等级。

如果默认的黑色样式不喜欢,也可以选择一个自己喜欢的背景。

切换全模态后,高度会增加,方便查看全部日志信息。

同样的,除了应用端日志查看,在控制台中同样支持格式化日志查看,支持任意类型数据打印,并支持大数据打印和位置信息定位:

快速使用

目前全新的版本,已经上传到了中心仓库,地址如下:

ohpm.openharmony.cn/#/cn/detail…

方式一:在Terminal窗口中,执行如下命令安装三方包,DevEco Studio会自动在工程的oh-package.json5中自动添加三方包依赖。

建议:在使用的模块路径下进行执行命令。

ohpm install @abner/app_log

方式二:在需要的模块中的oh-package.json5中设置三方包依赖,配置示例如下:

"dependencies": { "@abner/app_log": "^1.0.0"}

代码使用

初始化

可在AbilityStage或者主入口时进行初始化,主要配置全局参数,初始化不是必须的!有需要可设置,不需要可不设置!

AppLog.getAppLog().init({})

属性配置

属性 类型 概述
logOutputType LogOutputType 日志输出类型,默认LogOutputType.DEFAULT,控制台和应用内同时输出
globalTag string 全局Tag,默认为HarmonyOSLog
isHiLog boolean 控制台输出类型,默认true,为hiLog形式,fasle为console
closeLog boolean 日志输出开关,默认false为打开,可根据测试或正式进行动态设置
showLogLocation boolean 控制台日志输出是否需要位置,默认true为需要

应用内开启悬浮日志入口

可单页面设置,也可全局设置。

AppLog.getAppLog().showLog(() => { //这里可配置页面返回,可以在关闭日志的同时,返回页面,根据自己需要进行配置。比如,我使用的是router this.getUIContext().getRouter().back()})

应用内关闭悬浮日志入口

AppLog.getAppLog().hideLog()

日志打印

支持数字,字符串,数组,对象,json等等类型数据打印,并且支持格式化形式输出。

打印普通的一条日志

AppLog.log("我是一条普通的字符串")

各个类型输出

AppLog.debug("我是debug信息")
AppLog.info("我是info信息")
AppLog.warn("我是warn信息")
AppLog.error("我是error信息")
AppLog.fatal("我是fatal信息")

各个数据输出

//数字
AppLog.debug(888990008888, "testTag")
//数组 
AppLog.error(["条目一", "条目二", "条目三", "条目四"], "tag_001")
//对象 
let bean = new TestBean()
bean.name = "我是测试对象"
bean.age = 18
AppLog.error(bean)
//json串
let json = "{"name":"程序员一鸣","age":18}"
AppLog.warn(json)

单独设置tag

AppLog.debug("我是单独设置的tag", "testTag")

相关总结

应用端日志查看,满足了非IDE连接时,想要跟踪日志的需求,除此之外,它纯日志输出,无任何其他的内容干扰,可以辅助开发人员,快速的定位问题,可以说,还是十分的便利的;当然了,如果不想使用应用端日志输出,也可以单独使用控制台日志输出。