}, Arguments: []cmds.Argument{ // TODO use a different keyword for 'all' because all can theoretically // clash with a subsystem name cmds.StringArg("subsystem", true, false, fmt.Sprintf("the subsystem logging identifier. Use '%s' for all subsystems.", logAllKeyword)), cmds.StringArg("level", true, false, "one of: debug, info, notice, warning, error, critical"), }, Run: func(req cmds.Request) (interface{}, error) { args := req.Arguments() subsystem, level := args[0], args[1] if subsystem == logAllKeyword { subsystem = "*" } if err := u.SetLogLevel(subsystem, level); err != nil { return nil, err } s := fmt.Sprintf("Changed log level of '%s' to '%s'", subsystem, level) log.Info(s) return &MessageOutput{s}, nil }, Marshalers: cmds.MarshalerMap{ cmds.Text: MessageTextMarshaler, }, Type: &MessageOutput{}, }
func init() { Root.Subcommands = rootSubcommands u.SetLogLevel("core/commands", "info") }