forked from LaconicNetwork/kompose
dded flag --suppress-warnings, --verbose, --error-on-warning global flags
- `--suppress-warnings` it ignores all warnings. - `--verbose` displays everything - `--error-on-warning` with any warning exits displaying error. Fixes #100
This commit is contained in:
parent
4b3fbc02a5
commit
57c460cc50
@ -45,10 +45,28 @@ const (
|
||||
|
||||
var inputFormat = "compose"
|
||||
|
||||
// Hook for erroring and exit out on warning
|
||||
type errorOnWarningHook struct{}
|
||||
|
||||
func (errorOnWarningHook) Levels() []logrus.Level {
|
||||
return []logrus.Level{logrus.WarnLevel}
|
||||
}
|
||||
|
||||
func (errorOnWarningHook) Fire(entry *logrus.Entry) error {
|
||||
logrus.Fatalln(entry.Message)
|
||||
return nil
|
||||
}
|
||||
|
||||
// BeforeApp is an action that is executed before any cli command.
|
||||
func BeforeApp(c *cli.Context) error {
|
||||
|
||||
if c.GlobalBool("verbose") {
|
||||
logrus.SetLevel(logrus.DebugLevel)
|
||||
} else if c.GlobalBool("suppress-warnings") {
|
||||
logrus.SetLevel(logrus.ErrorLevel)
|
||||
} else if c.GlobalBool("error-on-warning") {
|
||||
hook := errorOnWarningHook{}
|
||||
logrus.AddHook(hook)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -124,5 +124,20 @@ func CommonFlags() []cli.Flag {
|
||||
Value: app.DefaultComposeFile,
|
||||
EnvVar: "COMPOSE_FILE",
|
||||
},
|
||||
// creating a flag to suppress warnings
|
||||
cli.BoolFlag{
|
||||
Name: "suppress-warnings",
|
||||
Usage: "Suppress all warnings",
|
||||
},
|
||||
// creating a flag to show all kinds of warnings
|
||||
cli.BoolFlag{
|
||||
Name: "verbose",
|
||||
Usage: "Show all type of logs",
|
||||
},
|
||||
// flag to treat any warning as error
|
||||
cli.BoolFlag{
|
||||
Name: "error-on-warning",
|
||||
Usage: "Treat any warning as error",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user