๐ฏ CAND - Colorful And Nice Debugging
Beautiful embedded-first Rust logging library for ESP32 to servers with colorful output and zero-panic design.
โจ Why Choose CAND?
| Feature | Benefit | Use Case |
|---|---|---|
| ๐จ Smart Colors | Spot issues instantly | logger.log_err("โ Clear visibility") |
| โก no_std Ready | Runs everywhere | ESP32, STM32, WASM, bare metal |
| ๐ก๏ธ Never Panic | Production safe | try_run() handles all errors gracefully |
| ๐ Pluggable | Your infrastructure | Files, UART, RTT, databases, networks |
| ๐ฆ Tiny Binary | <1KB overhead | Perfect for memory-constrained devices |
| ๐ฏ 2-Line Setup | Start in seconds | Works out of the box |
๐ Quick Start
Desktop/Server
[]
= "0.1"
use Logger;
use Instant;
Embedded/ESP32 with no_std
[]
= { = "0.1", =false, =["colors"] }
๐จ Beautiful Output
CAND automatically color-codes your logs for instant visual feedback:
- ๐ข
log_ok()- Success operations (green) - ๐ต
log_info()- Informational messages (blue) - ๐ก
log_warn()- Warnings that need attention (yellow) - ๐ด
log_err()- Critical errors (red)

๐ก๏ธ Error Handling That Never Panics
use Logger;
Embedded UART
;
๐๏ธ Feature Flags
| Feature | Description | Default |
|---|---|---|
std |
Standard library support, enables Instant time provider |
โ |
colors |
ANSI color output for beautiful terminal logs | โ |
ufmt |
Embedded-friendly formatting with zero allocations | No |
๐ Performance
- โก Zero allocations with
ufmtfeature - ๐ 178147+ logs/second on example benchmark
๐๏ธ API Reference
Core Types
// Make sure Type should TimeProvider or StorageProvider
// Main logger with time and storage providers
;
๐งช Examples
Check out the examples directory:
basic_error_handling- Error recovery patternssample- Feature showcase and demobenchmark- Benchmark of 10_000 logs print
Run examples:
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.