itopen组织
1、提供OpenHarmony优雅实用的小工具
2、手把手适配riscv + qemu + linux的三方库移植
3、未来计划riscv + qemu + ohos的三方库移植 + 小程序开发
4、一切拥抱开源,拥抱国产化

一、welog介绍

设计这个welog主要是因为OpenHarmony官方的hilog打印的太多,各个模块的混合在了一起,如果仅仅针对某个独立模块,往往不太容易查看,其次有时候需要和芯片厂家联调闭源库时,有时候因为闭源库并非基于OpenHarmony框架编译的,往往无法使用hilog进行打印。

welog的机制是通过操作驱动/dev/welog节点,将要打印的内容传给内核,然后通过内核将内容写入文件中。

二、welog实现的功能

  • welog会在log中自动加入进程id、线程id、文件名、函数名、行号和换行
  • welog支持单条最大1M大小的log
  • 对应长度小于1K的log保存在/data/log/welog/welog.log中
  • 对应长度大于1K的log保存在/data/log/welog/large.log中
  • 可通过配置WELOG_LOG_TAG宏的值控制log保存的文件名
  • welog可以使用三种打印方式:welog_debug、welog_info和welog_err
  • welog仅仅支持C语言和C++语言的调测
  • welog机制因仅仅作为个人单模块调测使用,因此并没有考虑多线程和性能等
  • 建议功能调测后直接关闭或者将welog.h中ENABLE_WELOG设置为0即可

三、welog适配

welog的代码保存在itopen: module_code中,适配过程需要做以下两点:

  • C/welog/driver/welog目录放到内核的driver下,同时将driver下的Kconfig和Makefile中添加welog的调用
  • C/welog/include/welog.h文件放到任意目录下,如果要使用直接将welog.h头文件加入即可,建议放在公共目录下
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐