Crate cli_toolbox[−][src]
Expand description
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
Output Macros
-
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
Conditional Code
-
eval!
- conditional code execution according to verbosity level - [debug
|release
] -
release!
- conditional code execution according to verbosity level - [release
]
Macros
The debug!
macro provides debug only code evaluation and user output.
The eval!
macro provides conditional code evaluation according to Verbosity
level.
The release!
macro provides release only conditional code evaluation
according to Verbosity
level.
The report!
macro provides conditional user output and error reporting according to Verbosity
level.
Enums
Output verbosity level <Verbose
|Terse
|Quite
>