HarmonyOS OH_LOG_Print,日志不显示,只显示为<private> ?

为什么OH_LOG_Print,日志不显示,只显示为<private>?看文档说是fmt,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识,如何把该特性关闭?

下面是宏定义:

#define LOGI(format, args...)
do {
  OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, LOG_TAG, "[I][%.20s(%03d)]:" format "\n",
  __FILE__ + strlen(__FILE__) - 20, __LINE__, ##args);
}
} while (0)
阅读 786
1 个回答

下面调用LOGI不会打印aa,而是现实test <private\>int aa = 0;LOG I(“test %d”, aa);

OH\_LOG\_Print默认是{private},要打印的话要加{public},这是HarmonyOS安全特性,可以尝试在终端输入hdc shell hilog -p off来关闭。此外您的OH\_LOG\_Print中,第4个参数log\_tag不用写,Log\_domain需要声明,例如:

#define  LOGI(format, args)   
OH_LOG_Print(LOG_APP, 
LOG_INFO, 0, "logI",format, args);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进