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  }