Skip to content

Commit

Permalink
Add a DebugTo convenience funtion
Browse files Browse the repository at this point in the history
One might want to write the debug information somewhere other than
Stdout. This patch adss a DebugTo function and method, that accepts
an io.Writer. It changes the original Debug implementation to call
this new function with a default of os.Stdout, which maintains
backward compatibility.

Signed-off-by: Brad P. Crochet <[email protected]>
  • Loading branch information
bcrochet authored and sagikazarmark committed Sep 6, 2022
1 parent 202060b commit 312417a
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions viper.go
Original file line number Diff line number Diff line change
Expand Up @@ -2135,14 +2135,17 @@ func (v *Viper) getConfigFile() (string, error) {

// Debug prints all configuration registries for debugging
// purposes.
func Debug() { v.Debug() }

func (v *Viper) Debug() {
fmt.Printf("Aliases:\n%#v\n", v.aliases)
fmt.Printf("Override:\n%#v\n", v.override)
fmt.Printf("PFlags:\n%#v\n", v.pflags)
fmt.Printf("Env:\n%#v\n", v.env)
fmt.Printf("Key/Value Store:\n%#v\n", v.kvstore)
fmt.Printf("Config:\n%#v\n", v.config)
fmt.Printf("Defaults:\n%#v\n", v.defaults)
func Debug() { v.Debug() }
func DebugTo(w io.Writer) { v.DebugTo(w) }

func (v *Viper) Debug() { v.DebugTo(os.Stdout) }

func (v *Viper) DebugTo(w io.Writer) {
fmt.Fprintf(w, "Aliases:\n%#v\n", v.aliases)
fmt.Fprintf(w, "Override:\n%#v\n", v.override)
fmt.Fprintf(w, "PFlags:\n%#v\n", v.pflags)
fmt.Fprintf(w, "Env:\n%#v\n", v.env)
fmt.Fprintf(w, "Key/Value Store:\n%#v\n", v.kvstore)
fmt.Fprintf(w, "Config:\n%#v\n", v.config)
fmt.Fprintf(w, "Defaults:\n%#v\n", v.defaults)
}

0 comments on commit 312417a

Please sign in to comment.