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>