#logging-framework #logging #formatting #logger #formatter #knurling

sys no-std defmt

A highly efficient logging framework that targets resource-constrained devices, like microcontrollers

19 releases

0.3.10 Nov 29, 2024
0.3.8 May 17, 2024
0.3.6 Feb 7, 2024
0.3.6-beta.1 Jul 7, 2023
0.1.3 Nov 30, 2020

#18 in Embedded development

Download history 37189/week @ 2024-08-23 35822/week @ 2024-08-30 33024/week @ 2024-09-06 29669/week @ 2024-09-13 36674/week @ 2024-09-20 28502/week @ 2024-09-27 28448/week @ 2024-10-04 33502/week @ 2024-10-11 37469/week @ 2024-10-18 37169/week @ 2024-10-25 39440/week @ 2024-11-01 35523/week @ 2024-11-08 31614/week @ 2024-11-15 33684/week @ 2024-11-22 37942/week @ 2024-11-29 26876/week @ 2024-12-06

136,577 downloads per month
Used in 533 crates (467 directly)

MIT/Apache

85KB
1.5K SLoC

defmt

defmt ("de format", short for "deferred formatting") is a highly efficient logging framework that targets resource-constrained devices, like microcontrollers.

For more details about the framework check the book at https://defmt.ferrous-systems.com.

Setup

New project

The fastest way to get started with defmt is to use our app-template to set up a new Cortex-M embedded project.

Existing project

To include defmt in your existing project, follow our Application Setup guide.

MSRV

The minimum supported Rust version is 1.76 (or Ferrocene 24.05). defmt is tested against the latest stable Rust version and the MSRV.

Support

defmt is part of the Knurling project, Ferrous Systems' effort at improving tooling used to develop for embedded systems.

If you think that our work is useful, consider sponsoring it via GitHub Sponsors.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

Dependencies

~0.4–1MB
~21K SLoC