5 unstable releases
| 0.2.1 | Apr 29, 2023 |
|---|---|
| 0.2.0 | Apr 21, 2023 |
| 0.1.0 | Apr 21, 2023 |
| 0.0.2 | Apr 21, 2023 |
| 0.0.1 | Apr 21, 2023 |
#1891 in Algorithms
6KB
54 lines
satlog.rs: Simple logger for SAT-like solvers
This outputs logs to stdout as DIMACS comments:
c WARN: ...
c ERR: ...
For Level::Info messages, the level is not printed: this allows to
have a quiet mode for the solver by setting the level filter to
LevelFilter::Off.
Example usage
use satlog::SatLogger;
use log::LevelFilter;
fn main() {
SatLogger::init(LevelFilter::Info);
}
Limitations / TODOs
- Allow configuring the prefix for multiline log messages
lib.rs:
satlog.rs is a simple and minimalistic logger designed for SAT solvers and the likes,
following the DIMACS syntax of comments starting with c.
The main interaction and setup is done through the [SatLogger] struct.
This plugs into the generic log crate and simply displays
the messages to stdout.
Some neat features:
- Messages with level Level::Info are displayed without prefix. This allows to show "default" logging messages and toggle them with the LevelFilter::Off.
- Opt-out colors with the
colorfeature.
Example
use satlog::SatLogger;
use log::LevelFilter;
fn main() {
SatLogger::init(LevelFilter::Info);
log::info!("Hello");
log::trace!("Will not display");
}
Dependencies
~0–10MB
~42K SLoC