better-assert
Assertion helpers with built-in logging powered by better-logger
⚠️ Is this crate right for you?
Dependency note
See better-logger before you use this crate
better-assert
incorporatesbetter-logger
as its logging facade. Any project usingbetter-assert
must do the same.
better-logger
has terminal, file, and network logging functionality.
Why you might need it
Scenario | Pain point with plain assert! |
How better-assert helps |
---|---|---|
WASM front-end | An assert_eq! fails silently in a user’s browser, you never see it |
log_assert_eq() sends a log entry to your backend before the panic |
Headless server / embedded | A panic! crash disappears into /dev/null or an unknown serial console |
log_panic() sends the details to a file, syslog, or over-the-wire sink |
HOW TO USE
😺 ONE: Declare Feature
/* no default feature enabled (enabling both at once won't compile) */
better-assert =
better-assert =
🦮 TWO: Incorporate better-logger
See the better-logger docs for the quick-start
/* Also has no default feature enabled (enabling both at once won't compile) */
better-logger =
better-logger =
💻 THREE: Use
use *;
let left = "value".to_string;
let right = "value".to_string;
log_assert_eq; // enabled in all builds
log_assert_ne;
debug_log_assert_eq; // enabled only in debug builds
debug_log_assert_ne;
log_panic; // always logs, then panics
License
© 2025 Gistyr LLC
This project, better-assert, is dual-licensed under your choice of:
- Apache License 2.0
See the LICENSE-APACHE file or view it online at http://www.apache.org/licenses/LICENSE-2.0 - MIT License
See the LICENSE-MIT file or view it online at http://opensource.org/licenses/MIT