Introduce --debug and --verbose as global options
- Dominant language
- Go
- Stars
- 387
- Forks
- 274
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 8
Description
## In what area(s)?
## Describe the feature:
Debugging and verbose output should be treated in a consistent way over all commands. Currently, we have
* `kn plugin list --verbose` as in #313 for printing out plugin configuration
* `kn service describe --details` as in #252 for showing additional service information
* `--log-http` as a global option to track HTTP API communication coming in with #326
As there are supposed to be more such output modifying flags coming in over time, I suggest to use `--debug` and `--verbose` with categories to fine tune this:
* Adding `--debug` for very low-level information. Only useful for developer of `kn` itself
* Adding a `--verbose` option for increasing the detail level of the information presented. Examples are
* `kn service describe --verbose` to add more details to a service (like the image digests, or all env vars/annotations/labels)
* `kn plugin list --verbose` to also print the plugin directories where plugins are looked up
* `kn service create --debug` to print also the HTTP headers
In order to tune debug and verbose output, I'd suggest to introduce categories:
* `--debug` --> all debug info
* `--debug=all` --> all debug info
* `--debug=http` --> only http related debugging
* `--verbose` --> all verbose output
* `--verbose=config` --> config related information, too
* `--verbose=config,details` --> config information and details (made up here to show how to combine categories)
This suggestion would introduce exactly two options, `--debug` and `--verbose` (with the possible values shown in the help page). The alternative would be to have an extra option for every category like in `--log-http`, but this would blow up the help pages and UX surface considerably over time.
Contributor guide
Assessment
This issue has not been assessed yet.