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 在 嵌入式开发
每月 2,017次下载
13KB
270 行
defmt-or-log
在嵌入式项目中,您通常希望通过 core::fmt::Debug
或 defmt::Format
记录一些信息,具体取决于配置。该库 defmt-or-log
提供了常见的日志宏,并根据启用功能将它们转发到 log
或 defmt
库。
此外,defmt-or-log
库还提供
- 使用
core::fmt::Debug
或defmt::Format
作为超特质的FormatOrDebug
特质,并提供了匹配的泛型实现。这对于指定特质界限很有用。 - 类似
defmt::Debug2Format
的Debug2Format
结构体,如果使用log
,则不会执行任何额外操作。 - 类似
defmt::Display2Format
的Display2Format
结构体,如果使用log
,则不会执行任何额外操作。
请参阅 examples/derive.rs。
您可以选择启用 log
或 defmt
功能,但不能同时启用。
功能 at_least_one
(默认启用)如果既未启用 log
也未启用 defmt
,则生成编译器错误。
此存储库还提供了 defmt-or-log-macros
库,其中包含条件推导 core::fmt::Debug
或 defmt::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版(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则,根据Apache-2.0许可证的定义,你有意提交以包含在工作中的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。
依赖项
~0.3–0.8MB
~19K SLoC