Fix panic on help, Better version

Signed-off-by: Emile Vauge <emile@vauge.com>
This commit is contained in:
Emile Vauge 2016-06-02 15:17:04 +02:00
parent 423268f485
commit 3f08bb4cdf
No known key found for this signature in database
GPG key ID: D808B4C167352E59
8 changed files with 133 additions and 68 deletions

View file

@ -2,6 +2,7 @@ package main
import (
"encoding/json"
"fmt"
log "github.com/Sirupsen/logrus"
"github.com/containous/flaeg"
"github.com/containous/staert"
@ -15,8 +16,14 @@ import (
"reflect"
"runtime"
"strings"
"text/template"
)
var versionTemplate = `Version: {{.Version}}
Go version: {{.GoVersion}}
Built: {{.BuildTime}}
OS/Arch: {{.Os}}/{{.Arch}}`
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
@ -43,8 +50,31 @@ Complete documentation is available at https://traefik.io`,
Config: struct{}{},
DefaultPointersConfig: struct{}{},
Run: func() error {
fmtlog.Println(Version + " built on the " + BuildDate)
tmpl, err := template.New("").Parse(versionTemplate)
if err != nil {
return err
}
v := struct {
Version string
GoVersion string
BuildTime string
Os string
Arch string
}{
Version: Version,
GoVersion: runtime.Version(),
BuildTime: BuildDate,
Os: runtime.GOOS,
Arch: runtime.GOARCH,
}
if err := tmpl.Execute(os.Stdout, v); err != nil {
return err
}
fmt.Printf("\n")
return nil
},
}
@ -53,8 +83,7 @@ Complete documentation is available at https://traefik.io`,
//add custom parsers
f.AddParser(reflect.TypeOf(EntryPoints{}), &EntryPoints{})
f.AddParser(reflect.TypeOf(DefaultEntryPoints{}), &DefaultEntryPoints{})
f.AddParser(reflect.TypeOf([]types.Constraint{}), &Constraints{})
f.AddParser(reflect.TypeOf(Constraints{}), &Constraints{})
f.AddParser(reflect.TypeOf(types.Constraints{}), &types.Constraints{})
f.AddParser(reflect.TypeOf(provider.Namespaces{}), &provider.Namespaces{})
f.AddParser(reflect.TypeOf([]acme.Domain{}), &acme.Domains{})
@ -111,6 +140,10 @@ func run(traefikConfiguration *TraefikConfiguration) {
globalConfiguration.DefaultEntryPoints = []string{"http"}
}
if globalConfiguration.Debug {
globalConfiguration.LogLevel = "DEBUG"
}
// logging
level, err := log.ParseLevel(strings.ToLower(globalConfiguration.LogLevel))
if err != nil {