mirror of
https://github.com/beego/bee.git
synced 2024-11-16 15:20:55 +00:00
cf7aef47f0
Moved logging to the new logging infrastructure by removing the use of ColorLog() function. Added more documentation. Also fixed some typos in comments and function names.
61 lines
1.1 KiB
Go
61 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"io"
|
|
"io/ioutil"
|
|
"os"
|
|
"runtime"
|
|
"text/template"
|
|
)
|
|
|
|
type vars struct {
|
|
GoVersion string
|
|
GOOS string
|
|
GOARCH string
|
|
NumCPU int
|
|
GOPATH string
|
|
GOROOT string
|
|
Compiler string
|
|
BeeVersion string
|
|
BeegoVersion string
|
|
}
|
|
|
|
// InitBanner loads the banner and prints it to output
|
|
// All errors are ignored, the application will not
|
|
// print the banner in case of error.
|
|
func InitBanner(out io.Writer, in io.Reader) {
|
|
if in == nil {
|
|
logger.Fatal("The input is nil")
|
|
}
|
|
|
|
banner, err := ioutil.ReadAll(in)
|
|
if err != nil {
|
|
logger.Fatalf("Error while trying to read the banner: %s", err)
|
|
}
|
|
|
|
show(out, string(banner))
|
|
}
|
|
|
|
func show(out io.Writer, content string) {
|
|
t, err := template.New("banner").
|
|
Funcs(template.FuncMap{"Now": Now}).
|
|
Parse(content)
|
|
|
|
if err != nil {
|
|
logger.Fatalf("Cannot parse the banner template: %s", err)
|
|
}
|
|
|
|
err = t.Execute(out, vars{
|
|
getGoVersion(),
|
|
runtime.GOOS,
|
|
runtime.GOARCH,
|
|
runtime.NumCPU(),
|
|
os.Getenv("GOPATH"),
|
|
runtime.GOROOT(),
|
|
runtime.Compiler,
|
|
version,
|
|
getBeegoVersion(),
|
|
})
|
|
MustCheck(err)
|
|
}
|