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
将指定模块 module 的指定日志消息 msg 记录到平台指定的机制,该日志消息位于提供的类别 category 中。
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,
  ...
)

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

具体说明
参数
[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
)