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  }