HarmonyOS鸿蒙Next中Native端(c++)如何打印日志

HarmonyOS鸿蒙Next中Native端(c++)如何打印日志 Native端(c++)如何打印日志?

比如我通过 #include <hilog/log.h> 文件后

编译时,提示无法找到 OH_LOG_Print 文件,我理解是该 so 库未正确链接,我按下面方式链接,提示是没有这个库

target_link_librariew(${PROJECT_NAME} PUBLIC libace_napi.z.so liblog.so xyloglib)
3 回复

打开CMakeLists.txt文件,在target_link_libraries最后追加libhilog_ndk.z.so

更多关于HarmonyOS鸿蒙Next中Native端(c++)如何打印日志的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,Native端(C++)打印日志可以通过使用hilog接口来实现。hilog是鸿蒙系统提供的一套日志接口,支持不同级别的日志输出。具体步骤如下:

  1. 引入头文件:首先需要在C++代码中引入hilog的头文件。

    #include "hilog/log.h"
    
  2. 定义日志标签:使用HILOG_DOMAIN宏定义日志域,通常用于区分不同模块的日志。

    #define HILOG_DOMAIN 0x0010
    
  3. 打日志:使用HILOG_INFOHILOG_DEBUGHILOG_ERROR等宏来打印不同级别的日志信息。

    HILOG_INFO(HILOG_DOMAIN, "This is an info log.");
    HILOG_DEBUG(HILOG_DOMAIN, "This is a debug log.");
    HILOG_ERROR(HILOG_DOMAIN, "This is an error log.");
    
  4. 日志级别:鸿蒙系统支持多种日志级别,包括HILOG_FATALHILOG_ERRORHILOG_WARNHILOG_INFOHILOG_DEBUG,开发者可以根据需要选择合适的级别。

  5. 日志格式:hilog接口支持格式化输出,类似于printf函数。

    int value = 42;
    HILOG_INFO(HILOG_DOMAIN, "The value is %d.", value);
    

在HarmonyOS鸿蒙Next的Native端(C++)中,打印日志可以使用HiLog接口。首先,在代码中包含hilog/log.h头文件,然后使用OH_LOG_Print宏来输出日志。例如:

#include "hilog/log.h"

OH_LOG_Print(LOG_APP, LOG_INFO, LOG_DOMAIN, "TAG", "This is a log message.");

其中,LOG_APP表示应用日志,LOG_INFO表示日志级别,LOG_DOMAIN是日志域,"TAG"是日志标签,"This is a log message."是日志内容。

回到顶部