Browse Source

ctlv3: add '--debug' flag (to enable grpclog)

By default, grpclog is disabled. It should be configurable
for debugging purposes, as we did in v2.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
Gyu-Ho Lee 8 years ago
parent
commit
7388911e0c
2 changed files with 13 additions and 0 deletions
  1. 12 0
      etcdctl/ctlv3/command/global.go
  2. 1 0
      etcdctl/ctlv3/ctl.go

+ 12 - 0
etcdctl/ctlv3/command/global.go

@@ -19,6 +19,8 @@ import (
 	"errors"
 	"io"
 	"io/ioutil"
+	"log"
+	"os"
 	"strings"
 	"time"
 
@@ -44,6 +46,8 @@ type GlobalFlags struct {
 	IsHex        bool
 
 	User string
+
+	Debug bool
 }
 
 type secureCfg struct {
@@ -79,6 +83,14 @@ func initDisplayFromCmd(cmd *cobra.Command) {
 func mustClientFromCmd(cmd *cobra.Command) *clientv3.Client {
 	flags.SetPflagsFromEnv("ETCDCTL", cmd.InheritedFlags())
 
+	debug, derr := cmd.Flags().GetBool("debug")
+	if derr != nil {
+		ExitWithError(ExitError, derr)
+	}
+	if debug {
+		clientv3.SetLogger(log.New(os.Stderr, "grpc: ", 0))
+	}
+
 	endpoints, err := cmd.Flags().GetStringSlice("endpoints")
 	if err != nil {
 		ExitWithError(ExitError, err)

+ 1 - 0
etcdctl/ctlv3/ctl.go

@@ -44,6 +44,7 @@ var (
 
 func init() {
 	rootCmd.PersistentFlags().StringSliceVar(&globalFlags.Endpoints, "endpoints", []string{"127.0.0.1:2379"}, "gRPC endpoints")
+	rootCmd.PersistentFlags().BoolVar(&globalFlags.Debug, "debug", false, "enable client-side debug logging")
 
 	rootCmd.PersistentFlags().StringVarP(&globalFlags.OutputFormat, "write-out", "w", "simple", "set the output format (fields, json, protobuf, simple, table)")
 	rootCmd.PersistentFlags().BoolVar(&globalFlags.IsHex, "hex", false, "print byte strings as hex encoded strings")