Made the notification level flag global for all notification types.

This commit is contained in:
Fabrizio Steiner 2018-03-02 13:08:40 +01:00
parent 4ac08dfb30
commit e1ead2f46f
5 changed files with 26 additions and 24 deletions

View file

@ -1,6 +1,7 @@
package notifications
import (
"github.com/johntdyer/slackrus"
log "github.com/sirupsen/logrus"
"github.com/urfave/cli"
)
@ -19,15 +20,22 @@ type Notifier struct {
func NewNotifier(c *cli.Context) *Notifier {
n := &Notifier{}
logLevel, err := log.ParseLevel(c.GlobalString("notifications-level"))
if err != nil {
log.Fatalf("Notifications invalid log level: %s", err.Error())
}
acceptedLogLevels := slackrus.LevelThreshold(logLevel)
// Parse types and create notifiers.
types := c.GlobalStringSlice("notifications")
for _, t := range types {
var tn typeNotifier
switch t {
case emailType:
tn = newEmailNotifier(c)
tn = newEmailNotifier(c, acceptedLogLevels)
case slackType:
tn = newSlackNotifier(c)
tn = newSlackNotifier(c, acceptedLogLevels)
default:
log.Fatalf("Unknown notification type %q", t)
}