github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/logtool/setDebugLevel.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "strconv" 6 7 "github.com/Cloud-Foundations/Dominator/lib/log" 8 "github.com/Cloud-Foundations/Dominator/lib/srpc" 9 proto "github.com/Cloud-Foundations/Dominator/proto/logger" 10 ) 11 12 func setDebugLevelSubcommand(args []string, logger log.DebugLogger) error { 13 level, err := strconv.ParseInt(args[0], 10, 16) 14 if err != nil { 15 return fmt.Errorf("Error parsing level: %s", err) 16 } 17 clients, _, err := dial(false) 18 if err != nil { 19 return err 20 } 21 if err := setDebugLevel(clients[0], int16(level)); err != nil { 22 return fmt.Errorf("Error setting debug level: %s", err) 23 } 24 return nil 25 } 26 27 func setDebugLevel(client *srpc.Client, level int16) error { 28 request := proto.SetDebugLevelRequest{ 29 Name: *loggerName, 30 Level: level, 31 } 32 var reply proto.SetDebugLevelResponse 33 return client.RequestReply("Logger.SetDebugLevel", request, &reply) 34 }