nl::Weave::Logging

此命名空间包含 Weave 中的所有接口,用于提供共享日志记录支持。

摘要

这些接口包括宏、常量和适用于 Weave SDK 且独立于平台的日志记录接口的函数。

在编译时,Weave SDK 客户端可以选择 Android、C 标准 I/O 或外部(由平台和集成商定义)日志记录样式实现,这些记录样式实现将在断言以下任一预处理器符号时调用:

枚举

@406 枚举
LogCategory 枚举
标识特定错误消息所属的类别。
LogModule 枚举
标识作为日志消息来源的代码的逻辑部分。

类型定义符

LogMessageFunct)(uint8_t module, uint8_t category, const char *msg, va_list ap) typedef
void(*

变量

ModuleNames[]
const char
gLogFilter = kLogCategory_Max
uint8_t
gLogFunct = DefaultLogMessage
LogMessageFunct

函数

GetCategoryName(char *buf, uint8_t bufSize, uint8_t category)
void
GetLogFilter()
NL_DLL_EXPORT uint8_t
GetMessageWithPrefix(char *buf, uint8_t bufSize, uint8_t module, const char *msg)
void
GetModuleName(char *buf, uint8_t module)
void
Log(uint8_t module, uint8_t category, const char *msg, ...)
NL_DLL_EXPORT __WEAVE_LOGGING_LINK_ATTRIBUTE void
将所提供的类别 category 中指定模块 module 的指定日志消息 msg 记录到平台指定的机制。
PrintMessagePrefix(uint8_t module)
void
SetLogFilter(uint8_t category)
NL_DLL_EXPORT void
SetLogFunct(LogMessageFunct logFunct)
NL_DLL_EXPORT void

枚举

@406

 @406

LogCategory

 LogCategory

标识特定错误消息所属的类别。

LogModule

 LogModule

标识作为日志消息来源的代码的逻辑部分。

类型定义符

LogMessageFunct

void(* LogMessageFunct)(uint8_t module, uint8_t category, const char *msg, va_list ap)

变量

ModuleNames

const char ModuleNames[]

gLogFilter

uint8_t gLogFilter = kLogCategory_Max

gLogFunct

LogMessageFunct gLogFunct = DefaultLogMessage

函数

GetCategoryName

void GetCategoryName(
  char *buf,
  uint8_t bufSize,
  uint8_t category
)

GetLogFilter

NL_DLL_EXPORT uint8_t GetLogFilter()

GetMessageWithPrefix

void GetMessageWithPrefix(
  char *buf,
  uint8_t bufSize,
  uint8_t module,
  const char *msg
)

GetModuleName

void GetModuleName(
  char *buf,
  uint8_t module
)

日志

NL_DLL_EXPORT __WEAVE_LOGGING_LINK_ATTRIBUTE void Log(
  uint8_t module,
  uint8_t category,
  const char *msg,
  ...
)

将所提供的类别 category 中指定模块 module 的指定日志消息 msg 记录到平台指定的机制。

详细信息
参数
[in] module
一个 LogModule 枚举,用于指明生成日志消息的 Weave 软件包模块的来源。该名称必须在函数中转换为模块名称,以便包含在日志消息中。
[in] category
指示日志消息类别的 LogCategory 枚举。如果声明了 WEAVE_LOG_FILTERING,则该类别可能会被滤除。
[in] msg
指向以 NULL 结尾的 C 字符串,该字符串具有 C 标准库样式的格式说明符,其中包含要设置格式和记录的日志消息。
[in] ...
可变参数列表,其元素应与 msg 中的格式说明符对应。

PrintMessagePrefix

void PrintMessagePrefix(
  uint8_t module
)

SetLogFilter

NL_DLL_EXPORT void SetLogFilter(
  uint8_t category
)

SetLogFunct

NL_DLL_EXPORT void SetLogFunct(
  LogMessageFunct logFunct
)