

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 实现库日志记录宏
<a name="afr-library-logging-macros"></a>

FreeRTOS 库使用以下日志记录宏，这些宏按详细程度的递增顺序列出。
+ `LogError`
+ `LogWarn`
+ `LogInfo`
+ `LogDebug`

必须为所有宏提供定义。建议是：
+ 宏应支持 `C89` 样式的记录记录。
+ 日志记录应具备线程安全性。来自多个任务的日志行不得相互交错。
+ 日志记录 APIs 不得阻塞，并且必须使应用程序任务免于在 I/O 上被阻塞。

有关实现规范，请参阅 FreerTos.org 上的[日志记录功能](https://www.freertos.org/logging.html)。您可以在此[示例](https://github.com/FreeRTOS/lab-iot-reference-nxp-rt1060/tree/main/examples/common/logging)中查看一种实现。

## 测试
<a name="testing-logging"></a>
+ 运行包含多个任务的测试，以便验证日志不会交错。
+ 运行测试以验证日志记录 APIs 不会阻塞 I/O。
+ 使用各种标准（例如，`C89,C99` 样式日志记录）测试日志记录宏。
+ 通过设置不同的日志级别（例如，`Debug`、`Info`、`Error` 和 `Warning`）来测试日志记录宏。