github.com/Cloud-Foundations/Dominator@v0.3.4/cmd/logtool/getStack.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 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 getStackTraceSubcommand(args []string, logger log.DebugLogger) error { 13 clients, _, err := dial(false) 14 if err != nil { 15 return err 16 } 17 if err := getStackTrace(clients[0]); err != nil { 18 return fmt.Errorf("error getting stack trace: %s", err) 19 } 20 return nil 21 } 22 23 func getStackTrace(client *srpc.Client) error { 24 var reply proto.GetStackTraceResponse 25 err := client.RequestReply("Logger.GetStackTrace", 26 proto.GetStackTraceRequest{}, &reply) 27 if err != nil { 28 return err 29 } 30 _, err = os.Stdout.Write(reply.Data) 31 return err 32 }