Utility library for working with cli output ergonomically.
This is not a logging alternative, it's intended to produce output for end user consumption.
It handles three levels of verbosity that can be set dynamically at runtime:
- Quite - no output
- Terse - used to provide minimal user output
- Verbose - used to provide elaborated and/or additional user output
-
debug!- conditionally compiled console debugging output - [debug] -
report!- conditional console output according to verbosity level - [debug|release]
* debug! is intended to be used during application development
* all other debugging and telemetry output is most likely better served with a logging library
-
eval!- conditional code execution according to verbosity level - [debug|release] -
release!- conditional code execution according to verbosity level - [release]
Each macro is gated by a feature.
No feature is mutually exclusive and can be combined as needed.
debug!macro
[dependencies]
cli-toolbox = { version = "0.8", features = ["debug"] }eval!macro
[dependencies]
cli-toolbox = { version = "0.8", features = ["eval"] }
verbosity = "0.1"release!macro
[dependencies]
cli-toolbox = { version = "0.8", features = ["release"] }
verbosity = "0.1"report!macro
[dependencies]
cli-toolbox = { version = "0.8", features = ["report"] }
verbosity = "0.1"- ...
-
debug!macro -
eval!macro -
release!macro -
report!macro