mirror of https://github.com/docker/compose.git
Add support for --log-level
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
parent
b6b2f297be
commit
4cbb33e20d
|
@ -25,7 +25,6 @@ import (
|
||||||
|
|
||||||
"github.com/docker/compose-cli/api/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/api/errdefs"
|
"github.com/docker/compose-cli/api/errdefs"
|
||||||
"github.com/docker/compose-cli/cli/cmd/mobyflags"
|
|
||||||
"github.com/docker/compose-cli/cli/mobycli"
|
"github.com/docker/compose-cli/cli/mobycli"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -43,7 +42,6 @@ func Command() *cobra.Command {
|
||||||
flags.StringP("username", "u", "", "username")
|
flags.StringP("username", "u", "", "username")
|
||||||
flags.StringP("password", "p", "", "password")
|
flags.StringP("password", "p", "", "password")
|
||||||
flags.BoolP("password-stdin", "", false, "Take the password from stdin")
|
flags.BoolP("password-stdin", "", false, "Take the password from stdin")
|
||||||
mobyflags.AddMobyFlagsForRetrocompatibility(flags)
|
|
||||||
|
|
||||||
cmd.AddCommand(AzureLoginCommand())
|
cmd.AddCommand(AzureLoginCommand())
|
||||||
return cmd
|
return cmd
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright 2020 Docker Compose CLI authors
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package mobyflags
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
flag "github.com/spf13/pflag"
|
|
||||||
)
|
|
||||||
|
|
||||||
// AddMobyFlagsForRetrocompatibility adds retrocompatibility flags to our commands
|
|
||||||
func AddMobyFlagsForRetrocompatibility(flags *flag.FlagSet) {
|
|
||||||
const logLevelFlag = "log-level"
|
|
||||||
flags.StringP(logLevelFlag, "l", "info", `Set the logging level ("debug"|"info"|"warn"|"error"|"fatal")`)
|
|
||||||
markHidden(flags, logLevelFlag)
|
|
||||||
}
|
|
||||||
|
|
||||||
func markHidden(flags *flag.FlagSet, flagName string) {
|
|
||||||
err := flags.MarkHidden(flagName)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -23,7 +23,6 @@ import (
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/cli/cmd/mobyflags"
|
|
||||||
"github.com/docker/compose-cli/cli/formatter"
|
"github.com/docker/compose-cli/cli/formatter"
|
||||||
"github.com/docker/compose-cli/cli/mobycli"
|
"github.com/docker/compose-cli/cli/mobycli"
|
||||||
"github.com/docker/compose-cli/internal"
|
"github.com/docker/compose-cli/internal"
|
||||||
|
@ -45,7 +44,6 @@ func VersionCommand() *cobra.Command {
|
||||||
flags := cmd.Flags()
|
flags := cmd.Flags()
|
||||||
flags.StringP(formatOpt, "f", "", "Format the output. Values: [pretty | json]. (Default: pretty)")
|
flags.StringP(formatOpt, "f", "", "Format the output. Values: [pretty | json]. (Default: pretty)")
|
||||||
flags.String("kubeconfig", "", "Kubernetes config file")
|
flags.String("kubeconfig", "", "Kubernetes config file")
|
||||||
mobyflags.AddMobyFlagsForRetrocompatibility(flags)
|
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,6 +146,7 @@ func main() {
|
||||||
helpFunc(cmd, args)
|
helpFunc(cmd, args)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
root.PersistentFlags().StringVarP(&opts.LogLevel, "log-level", "l", "info", "Set the logging level (\"debug\"|\"info\"|\"warn\"|\"error\"|\"fatal\")")
|
||||||
root.PersistentFlags().BoolVarP(&opts.Debug, "debug", "D", false, "Enable debug output in the logs")
|
root.PersistentFlags().BoolVarP(&opts.Debug, "debug", "D", false, "Enable debug output in the logs")
|
||||||
root.PersistentFlags().StringVarP(&opts.Host, "host", "H", "", "Daemon socket(s) to connect to")
|
root.PersistentFlags().StringVarP(&opts.Host, "host", "H", "", "Daemon socket(s) to connect to")
|
||||||
opts.AddContextFlags(root.PersistentFlags())
|
opts.AddContextFlags(root.PersistentFlags())
|
||||||
|
@ -159,6 +160,13 @@ func main() {
|
||||||
// populate the opts with the global flags
|
// populate the opts with the global flags
|
||||||
_ = root.PersistentFlags().Parse(os.Args[1:])
|
_ = root.PersistentFlags().Parse(os.Args[1:])
|
||||||
_ = root.Flags().Parse(os.Args[1:])
|
_ = root.Flags().Parse(os.Args[1:])
|
||||||
|
|
||||||
|
level, err := logrus.ParseLevel(opts.LogLevel)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "Unable to parse logging level: %s\n", opts.LogLevel)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
logrus.SetLevel(level)
|
||||||
if opts.Debug {
|
if opts.Debug {
|
||||||
logrus.SetLevel(logrus.DebugLevel)
|
logrus.SetLevel(logrus.DebugLevel)
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,8 @@ import (
|
||||||
type GlobalOpts struct {
|
type GlobalOpts struct {
|
||||||
apicontext.ContextFlags
|
apicontext.ContextFlags
|
||||||
cliconfig.ConfigFlags
|
cliconfig.ConfigFlags
|
||||||
Debug bool
|
Debug bool
|
||||||
Version bool
|
LogLevel string
|
||||||
Host string
|
Version bool
|
||||||
|
Host string
|
||||||
}
|
}
|
||||||
|
|
|
@ -453,7 +453,7 @@ func TestLegacyLogin(t *testing.T) {
|
||||||
|
|
||||||
t.Run("login help global flags", func(t *testing.T) {
|
t.Run("login help global flags", func(t *testing.T) {
|
||||||
res := c.RunDockerCmd("login", "--help")
|
res := c.RunDockerCmd("login", "--help")
|
||||||
assert.Assert(t, !strings.Contains(res.Combined(), "--log-level"))
|
assert.Assert(t, strings.Contains(res.Combined(), "--log-level"))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue