日志
日志记录API提供了一个通用的接口来处理由开发人员发布的消息。消息通过前端传递,然后由活动的后端进行处理。如果需要,可以使用自定义的前端和后端。
日志记录功能的汇总表:
- 延迟日志记录通过将耗时的操作转移到已知上下文,而不是在调用时处理和发送日志消息,从而减少了日志消息所需的时间。
- 支持多个后端(最多支持9个后端)。
- 自定义前端支持。它可以与后端一起工作。
- 在模块级别上进行编译时间过滤。
- 为每个后端独立地运行时间过滤。
- 在模块实例级别上的其他运行时过滤。
- 用户提供的功能。时间戳可以有32位或64位。
- 用于转储数据的专用API。
- 用于处理临时字符串的专用API。
- 异常支持-在异常模式下的日志记录切换到阻塞、同步处理。
- 打印支持-打印信息可以被重定向到日志记录。
- 设计可用于多域/多处理器系统。
- 支持记录浮点变量和长时间长参数。
- 作为参数使用的临时字符串的内置复制。
日志记录API在编译时和运行时都是高度可配置的。使用Kconfig选项(请参见全局Kconfig选项),日志可以从编译中逐步删除,从而在不需要日志时减少映像大小和执行时间。在编译过程中,可以以模块为基础和严重性级别过滤掉日志。
日志也可以编译进,但在运行时使用专用API进行过滤。运行时筛选对于每个后端和每个日志消息源都是独立的。日志消息的源可以是一个模块或该模块的特定实例。
系统中有四个严重性级别