diff --git a/coremain/logo.go b/coremain/logo.go new file mode 100644 index 000000000..09db8de42 --- /dev/null +++ b/coremain/logo.go @@ -0,0 +1,14 @@ +package coremain + +// This is CoreDNS' ascii LOGO, nothing fancy. It's generated with: +// figlet -f slant CoreDNS +// We're printing the logo line by line, hence splitting it up. +var logo = []string{ + ` ______ ____ _ _______`, + ` / ____/___ ________ / __ \/ | / / ___/`, + ` / / / __ \/ ___/ _ \/ / / / |/ /\__ \ `, + `/ /___/ /_/ / / / __/ /_/ / /| /___/ / `, + `\____/\____/_/ \___/_____/_/ |_//____/ `, +} + +const marker = "~ " diff --git a/coremain/run.go b/coremain/run.go index 5f3b610bd..508c74c62 100644 --- a/coremain/run.go +++ b/coremain/run.go @@ -11,7 +11,6 @@ import ( "strings" "github.com/coredns/coredns/core/dnsserver" - clog "github.com/coredns/coredns/plugin/pkg/log" "github.com/caddyserver/caddy" ) @@ -82,7 +81,6 @@ func Run() { mustLogFatal(err) } - logVersion() if !dnsserver.Quiet { showVersion() } @@ -141,24 +139,21 @@ func defaultLoader(serverType string) (caddy.Input, error) { }, nil } -// logVersion logs the version that is starting. -func logVersion() { - clog.Info(versionString()) - clog.Info(releaseString()) -} - -// showVersion prints the version that is starting. +// showVersion prints the version that is starting. We print our logo on the left. func showVersion() { + fmt.Println(logo[0]) fmt.Print(versionString()) fmt.Print(releaseString()) if devBuild && gitShortStat != "" { fmt.Printf("%s\n%s\n", gitShortStat, gitFilesModified) } + fmt.Println(logo[3]) + fmt.Println(logo[4]) } // versionString returns the CoreDNS version as a string. func versionString() string { - return fmt.Sprintf("%s-%s\n", caddy.AppName, caddy.AppVersion) + return fmt.Sprintf("%s\t%s%s-%s\n", logo[1], marker, caddy.AppName, caddy.AppVersion) } // releaseString returns the release information related to CoreDNS version: @@ -166,7 +161,7 @@ func versionString() string { // e.g., // linux/amd64, go1.8.3, a6d2d7b5 func releaseString() string { - return fmt.Sprintf("%s/%s, %s, %s\n", runtime.GOOS, runtime.GOARCH, runtime.Version(), GitCommit) + return fmt.Sprintf("%s\t%s%s/%s, %s, %s\n", logo[2], marker, runtime.GOOS, runtime.GOARCH, runtime.Version(), GitCommit) } // setVersion figures out the version information