knative / knative/client

Introduce --debug and --verbose as global options

Open
#333 10 comments 0 reactions 1 assignee Claimed by @rhuss View on GitHub
kind/feature triage/accepted
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.