github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/logtool/remoteLog.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 debugSubcommand(args []string, logger log.DebugLogger) error { 13 level, err := strconv.ParseUint(args[0], 10, 8) 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 := debug(clients[0], uint8(level), args[1:]); err != nil { 22 logger.Fatalf("Error sending debug log: %s\n", err) 23 } 24 return nil 25 } 26 27 func debug(client *srpc.Client, level uint8, args []string) error { 28 request := proto.DebugRequest{ 29 Args: args, 30 Name: *loggerName, 31 Level: level, 32 } 33 var reply proto.DebugResponse 34 return client.RequestReply("Logger.Debug", request, &reply) 35 } 36 37 func printSubcommand(args []string, logger log.DebugLogger) error { 38 clients, _, err := dial(false) 39 if err != nil { 40 return err 41 } 42 if err := print(clients[0], args); err != nil { 43 logger.Fatalf("Error sending log: %s\n", err) 44 } 45 return nil 46 } 47 48 func print(client *srpc.Client, args []string) error { 49 request := proto.PrintRequest{ 50 Args: args, 51 Name: *loggerName, 52 } 53 var reply proto.PrintResponse 54 return client.RequestReply("Logger.Print", request, &reply) 55 }