package main import ( "strings" log "github.com/sirupsen/logrus" "gopkg.in/alecthomas/kingpin.v2" ) var ( logLevel = kingpin.Flag("log-level", "The level of logging").Default("info").Enum("debug", "info", "warn", "error", "panic", "fatal") ) func main() { kingpin.HelpFlag.Short('h') kingpin.CommandLine.DefaultEnvars() kingpin.Parse() switch strings.ToLower(*logLevel) { case "debug": log.SetLevel(log.DebugLevel) case "warn": log.SetLevel(log.WarnLevel) case "error": log.SetLevel(log.ErrorLevel) case "panic": log.SetLevel(log.PanicLevel) default: log.SetLevel(log.InfoLevel) } log.Info("Starting") server := NewServer() err := server.Start() if err != nil { log.Fatal(err) } }