monitor: add log include location option on monitor CLI and API (#18795)

This commit is contained in:
James Rasell
2023-10-20 07:55:22 +01:00
committed by GitHub
parent f5c5035fde
commit ca9e08e6b5
12 changed files with 141 additions and 64 deletions

View File

@@ -19,6 +19,13 @@ import (
type MonitorCommand struct {
Meta
// Below this point is where CLI flag options are stored.
logLevel string
nodeID string
serverID string
logJSON bool
logIncludeLocation bool
}
func (c *MonitorCommand) Help() string {
@@ -42,6 +49,9 @@ Monitor Specific Options:
-log-level <level>
Sets the log level to monitor (default: INFO)
-log-include-location
Include file and line information in each log line. The default is false.
-node-id <node-id>
Sets the specific node to monitor
@@ -68,17 +78,13 @@ func (c *MonitorCommand) Run(args []string) int {
Ui: c.Ui,
}
var logLevel string
var nodeID string
var serverID string
var logJSON bool
flags := c.Meta.FlagSet(c.Name(), FlagSetClient)
flags.Usage = func() { c.Ui.Output(c.Help()) }
flags.StringVar(&logLevel, "log-level", "", "")
flags.StringVar(&nodeID, "node-id", "", "")
flags.StringVar(&serverID, "server-id", "", "")
flags.BoolVar(&logJSON, "json", false, "")
flags.StringVar(&c.logLevel, "log-level", "", "")
flags.BoolVar(&c.logIncludeLocation, "log-include-location", false, "")
flags.StringVar(&c.nodeID, "node-id", "", "")
flags.StringVar(&c.serverID, "server-id", "", "")
flags.BoolVar(&c.logJSON, "json", false, "")
if err := flags.Parse(args); err != nil {
return 1
@@ -99,8 +105,8 @@ func (c *MonitorCommand) Run(args []string) int {
}
// Query the node info and lookup prefix
if nodeID != "" {
nodeID, err = lookupNodeID(client.Nodes(), nodeID)
if c.nodeID != "" {
c.nodeID, err = lookupNodeID(client.Nodes(), c.nodeID)
if err != nil {
c.Ui.Error(err.Error())
return 1
@@ -108,10 +114,11 @@ func (c *MonitorCommand) Run(args []string) int {
}
params := map[string]string{
"log_level": logLevel,
"node_id": nodeID,
"server_id": serverID,
"log_json": strconv.FormatBool(logJSON),
"log_level": c.logLevel,
"node_id": c.nodeID,
"server_id": c.serverID,
"log_json": strconv.FormatBool(c.logJSON),
"log_include_location": strconv.FormatBool(c.logIncludeLocation),
}
query := &api.QueryOptions{