Skip to content

Commit

Permalink
dded flag --suppress-warnings, --verbose, --error-on-warning gl…
Browse files Browse the repository at this point in the history
…obal flags

- `--suppress-warnings` it ignores all warnings.
- `--verbose` displays everything
- `--error-on-warning` with any warning exits displaying error.

Fixes kubernetes#100
  • Loading branch information
surajssd authored and cab105 committed Oct 27, 2016
1 parent e3a5f48 commit 9e803e4
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
18 changes: 18 additions & 0 deletions cli/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
15 changes: 15 additions & 0 deletions cli/command/command.go
Original file line number Diff line number Diff line change
Expand Up @@ -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",
},
}
}

0 comments on commit 9e803e4

Please sign in to comment.