#defmt #logging #debugging #no-std

no-std defmt-or-log

将日志宏转发到defmt或log的宏

4个版本

0.2.1 2024年1月16日
0.2.0 2023年11月20日
0.1.1 2023年11月20日
0.1.0 2023年11月20日

#437嵌入式开发

Download history 246/week @ 2024-04-27 142/week @ 2024-05-04 122/week @ 2024-05-11 147/week @ 2024-05-18 230/week @ 2024-05-25 157/week @ 2024-06-01 164/week @ 2024-06-08 189/week @ 2024-06-15 216/week @ 2024-06-22 223/week @ 2024-06-29 236/week @ 2024-07-06 256/week @ 2024-07-13 339/week @ 2024-07-20 541/week @ 2024-07-27 563/week @ 2024-08-03 494/week @ 2024-08-10

每月 2,017次下载

MIT/Apache

13KB
270

defmt-or-log

在嵌入式项目中,您通常希望通过 core::fmt::Debugdefmt::Format 记录一些信息,具体取决于配置。该库 defmt-or-log 提供了常见的日志宏,并根据启用功能将它们转发到 logdefmt 库。

此外,defmt-or-log 库还提供

  • 使用 core::fmt::Debugdefmt::Format 作为超特质的 FormatOrDebug 特质,并提供了匹配的泛型实现。这对于指定特质界限很有用。
  • 类似 defmt::Debug2FormatDebug2Format 结构体,如果使用 log,则不会执行任何额外操作。
  • 类似 defmt::Display2FormatDisplay2Format 结构体,如果使用 log,则不会执行任何额外操作。

请参阅 examples/derive.rs

您可以选择启用 logdefmt 功能,但不能同时启用。
功能 at_least_one(默认启用)如果既未启用 log 也未启用 defmt,则生成编译器错误。

此存储库还提供了 defmt-or-log-macros 库,其中包含条件推导 core::fmt::Debugdefmt::Format 的Proc宏,具体取决于启用功能。

支持的宏(defmt-or-log 库)

  • trace

  • debug

  • info

  • warn

  • error

  • assert

  • assert_eq

  • assert_ne

  • debug_assert

  • debug_assert_eq

  • debug_assert_ne

  • 待办事项

  • 不可达

  • 恐慌

  • 展开

  • 内部

许可证

许可协议为以下之一:

任选其一。

贡献

除非你明确声明,否则,根据Apache-2.0许可证的定义,你有意提交以包含在工作中的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。

依赖项

~0.3–0.8MB
~19K SLoC